Kotlin First 对于 Android 开发者究竟意味着什么?

======================================================================================================

首先对于 Google 来说,应该意味着更进一步地放弃 Java。这会导致更多的 Android 库出现对应的 Kotlin 实现,甚至可能是只有 Kotlin 版本,Android Studio IDE 也会出现更多的倾向于 Kotlin 的特性和支持等。结果可能会是 App 开发者进一步向 Kotlin 靠拢,而 Java 则相应地被进一步孤立。

其次,对于 Android 开发者来说,当本届 I/O 大会 Google 宣布 Kotlin 作为 Android 首选开发语言那一刻,再次证明我们使用 Kotlin 是正确的。内心都是无比 Exciting,充盈着一种满满的被认可感,而这势必会让更多的 Android 开发者投向 Kotlin 的怀抱。

同时,至关重要的是体现在业务上,对于管理者来说,会有更大的信心和更强的动力去推动团队完成从 Java 到 Kotlin 的转变。

事实上,当前在 Android 研发的招聘中,大部分招聘 JD 都会包含希望求职者具备 Kotlin 编码能力的描述,而面试者的简历也会提到自己学习或者项目应用 Kotlin 等内容。

并且,目前笔者从各种渠道了解到,大部分的公司都已经使用 Kotlin 作为首选开发语言,而且积极效果反馈明显。

看完移动端,我们再看服务端,不同于 Java 在后端的良好表现。尽管就 Kotlin 来说,除了前文所述的优点之外,协程是一大吸引,但 Kotlin 在中后台开发人员中的流行度可能并不会像在 Android 上这么顺利,究其原因,主要还是:

缺乏官方权威或大公司背书来提振威望;

相关的框架需要进一步丰富;

CSDN 编者注:对于这一点,在 CSDN《2018 – 2019 中国开发者调查报告》中,拥有十几年移动开发经验的轻芒联合创始人范怀宇对此表示:Java 的 Web 框架经过千锤百炼已经可以支撑足够大的并发,JVM 经过长年优化性能表现也非常出众,而 Java 的各类库、统一的编程模型、丰富的人才储备,可以满足各种场景的诉求。

相应的中文社区和氛围需要增强。

但无论如何,Kotlin 的确称得上是 Java 程序员近在咫尺的小确幸,你需要做的就是抓住它,不要错过。

Google 同推 Flutter 和 Kotlin,那么移动开发者该如何做选择?

============================================================================================================

我们再来看 Google 在移动端另一重推的框架,Flutter 自问世伊始便被寄予厚望,从开始的支持 Android 和 iOS 开发到现在的全平台(Mobile、Desktop、Web、Embedded),几近于真正地实现了数年来程序员梦寐以求的“Write once, run anywhere”的愿景。

因此相对而言,Flutter 显得更加有诱惑力,因为它是一个跨平台开发的解决方案,我想这也是大多数人给出的答案。

但是也有很多原因会导致你无法选用 Flutter,如下不完全列举:

Flutter 需要使用 Dart 语言,没有第二语言。Dart 令人诟病的方面也不少;

对现有技术投入较多导致沉默成本过大,甚至是难以负担;

保守主义,避免过早地对某项技术投入资源;

领域限制,Flutter 无法满足要求。

Kotlin 的被钦定可以解读为 Android 开始逐渐放弃 Java 语言这个开发依赖,而 Flutter 的推出可以被理解成 Google 开始放弃 Android,迎接新操作系统 Google Fuchsia 的准备。

出于综合考虑且必须二选一的情况下,建议你选择 Flutter,但是如果你有兴趣见识一种比 Java 更安全,更简洁,更实用,更优雅的语言的话,我也推荐你学一学 Kotlin。

Flutter 很有前途,但 Kotlin 也会让你欲罢不能,这确实是一件麻烦事。

基于同时,对于我们所有技术人来说,一个非常头疼且不由得恐慌的问题,那便是如何应对日新月异的技术?

===================================================================================================================

这可能是越来越多的以工程为主的开发者面临的问题,因为今天有 Kotlin 和 Flutter,明天或许就会冒出来 Gotlin、Hlutter 等新的技术。

日新月异层出不穷,不断追求学习并不现实,反而有可能把自己搞的很累,甚至是产生负面效果。新技术固然可以学习,但是作为技术人,获得完善的素养显得更加意义深远。

总结

我最近从朋友那里收集到了2020-2021BAT 面试真题解析,内容很多也很系统,包含了很多内容:Android 基础、Java 基础、Android 源码相关分析、常见的一些原理性问题等等,可以很好地帮助大家深刻理解Android相关知识点的原理以及面试相关知识

这份资料把大厂面试中常被问到的技术点整理成了PDF,包知识脉络 + 诸多细节;还有 高级架构技术进阶脑图 帮助大家学习提升进阶,也节省大家在网上搜索资料的时间来学习,也可以分享给身边好友一起学习。

这里也分享给广大面试同胞们,希望每位程序猿们都能面试成功~

领取方式:点击直达GitHub

Android 基础知识点

Java 基础知识点

Android 源码相关分析

常见的一些原理性问题

腾讯、字节跳动、阿里、百度等BAT大厂 2019-2020面试真题解析


外链图片转存中…(img-QrdHaytH-1646295605551)]

腾讯、字节跳动、阿里、百度等BAT大厂 2019-2020面试真题解析

[外链图片转存中…(img-PtUg08BO-1646295605551)]

Logo

开源鸿蒙跨平台开发社区汇聚开发者与厂商,共建“一次开发,多端部署”的开源生态,致力于降低跨端开发门槛,推动万物智联创新。

更多推荐