谷歌宣布正在采取的下一个重大步骤是 Kotlin-first,Android 开发将越来越多地以 Kotlin 为主,许多新的 Jetpack API 和功能将首先在 Kotlin 中提供。并且当天谷歌就开源了 Jetpack Compose 呼应这一战略。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/12387.html
消息一出来,“Android 开发以后是不是只能用 Kotlin 了”、“Android 开发者应该从 Java 转到 Kotlin 吗”等问题困扰了开发者。对此,谷歌 Android Studio 技术负责人 Jeffrey van Gogh 进行了回应。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/12387.html
文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/12387.html
“我们将在很多方面继续支持 Java 编程语言”,Jeffrey 首先回答了 Android 关于 Java 支持的问题,同时给出了一张 Java 与 Kotlin 支持对照表。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/12387.html
表中可以看到,Kotlin 相比 Java,在 Android 开发中确实获得了更加重要的地位,“比如在线培训、样本,我们首先会在 Kotlin 中支持,Java 中将是‘尽力而为’。同时,有一些功能,如多平台项目和 Jetpack Compose,只会在 Kotlin 中提供。”文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/12387.html
Jetpack Compose 是一个非捆绑 UI 工具包,结合了反应式编程模型和 Kotlin 编程语言的简洁性和易用性,旨在简化 UI 开发。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/12387.html
这样来看,很显然在今后一段时间内 Android 开发者并不是只有 Kotlin 一种选择,Java 同样可用。而至于这是否只是一个过渡,则要听听 Jeffrey 是如何回答“是否应该从 Java 迁移到 Kotlin?”这一问题的。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/12387.html
“不要把‘Kotlin-first’误解成必须将现有 Java 开发的 Android 使用 Kotlin 重写”,Jeffrey 说到,并补充说明谷歌自家的应用也没有这样做。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/12387.html
Jeffrey 的意思是 Java 与 Kotlin 具有极高的互操作性,所以两者完全可以共存于同一个项目中。“看看 Android Studio,它有几十万行代码,其中大约有 10% 的 Kotlin 代码。我们所做的只是使用 Kotlin 编写新功能。Kotlin 与 Java 具有很好的互操作性,可以在 Kotlin 中编写单个类,其余部分使用 Java 编写,或者使用 Kotlin 编写 99% 的代码,而剩下的一点点用 Java 来写。”文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/12387.html
而具体应该继续使用 Java 还是转到 Kotlin,Jeffrey 表示这需要考虑一些因素,比如团队对于 Kotlin 的兴趣、Kotlin 的学习曲线之陡峭,还有能不能接受 Kotlin 本身相比 Java 在开发 Android 上的弱点,比如软件构建过程需要更长的时间,因为 Kotlin 编译器比通用 Java 编译器要慢,以及 Kotlin 生成的 APK 相对较大。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/12387.html
此外应用开发所处的阶段也需要考虑,Jeffrey 表示新项目使用 Kotlin 编写是更好的选择。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/12387.html