安卓开发者要从Java转到Kotlin吗?谷歌说后者支持更多 – Java,Kotlin,谷歌,安卓,Android – IT之家

by admin on 2020年2月27日

今年 I/O 大会上,谷歌宣布正在采取的下一个重大步骤是
Kotlin-first,Android
开发将越来越多地以 Kotlin 为主,许多新的 Jetpack API 和功能将首先在
Kotlin 中提供。并且当天谷歌就开源了 Jetpack
Compose
呼应这一战略。

IT之家5月13日消息 在今年谷歌I/O大会上,谷歌宣布下一步最重要的是“Kotlin
first”。越来越多的安卓开发者也开始从Java转向Kotlin,许多新的Jetpack
API以及新功能会首先在Kotlin上使用,同时谷歌在I/O大会上也开源了Jetpack
Compose来回应“Kotlin first”战略。

消息一出来,“Android 开发以后是不是只能用 Kotlin 了”、“Android
开发者应该从 Java 转到 Kotlin 吗”等问题困扰了开发者。对此,谷歌 Android
Studio 技术负责人 Jeffrey van Gogh
进行了回应。

针对于安卓开发的小白或者从事安卓开发的开发人员来讲,是选择Java还是Kotlin又成为一个非常困扰的问题,日前谷歌Android
Studio技术负责人杰弗里·梵高针对这些问题进行了回应。

图片 1

杰弗里·梵高表示,安卓将在很多方面继续支持Java。当然他还给出了一张Java和Kotlin的支持对照表,表中很明显Kotlin相比Java多出来很多支持选项,比如AndroidX
Kotlin-specific APIs、多平台项目、Jetpack
Compose等支持,而在线培训和样例谷歌则是尽力而为。

“我们将在很多方面继续支持 Java 编程语言”,Jeffrey 首先回答了 Android
关于 Java 支持的问题,同时给出了一张 Java 与 Kotlin 支持对照表。

Jetpack Compose 是一个非捆绑 UI 工具包,结合了反应式编程模型和 Kotlin
编程语言的简洁性和易用性,旨在简化 UI 开发。

表中可以看到,Kotlin 相比 Java,在 Android
开发中确实获得了更加重要的地位,“比如在线培训、样本,我们首先会在 Kotlin
中支持,Java 中将是‘尽力而为’。同时,有一些功能,如多平台项目和 Jetpack
Compose,只会在 Kotlin 中提供。”

当然,虽然针对于Java的支持变少了,杰弗里·梵高称,“不要把‘Kotlin-first’误解成必须将现有Java开发的安卓使用
Kotlin重写”,因为连谷歌自家的应用也没这么做,Java和Kotlin有极高的互操作性,两者完全可以共存在一个项目中,目前Android
Studio平台上的代码大概有几十万行,但是只有10%是用Kotlin写的。谷歌方面正在用Kotlin写新的功能,“Kotlin
与 Java 具有很好的互操作性,可以在 Kotlin 中编写单个类,其余部分使用
Java 编写,或者使用 Kotlin 编写99% 的代码,而剩下的一点点用 Java
来写。”

Jetpack Compose 是一个非捆绑 UI 工具包,结合了反应式编程模型和 Kotlin
编程语言的简洁性和易用性,旨在简化 UI 开发。

杰弗里·梵高表示,现在Kotlin还不成熟,软件构建时间相比于Java更长,Kotlin编译器比Java编译器要慢,而且Kotlin生成的Apk相比于Java也更大,针对Kotlin感兴趣的团队可以考虑用Kotlin写新项目,但是没必要把旧项目用Kotlin重写。

这样来看,很显然在今后一段时间内 Android 开发者并不是只有 Kotlin
一种选择,Java 同样可用。而至于这是否只是一个过渡,则要听听 Jeffrey
是如何回答“是否应该从 Java 迁移到 Kotlin?”这一问题的。

不要把‘Kotlin-first’误解成必须将现有 Java 开发的 Android 使用 Kotlin
重写
”,Jeffrey 说到,并补充说明谷歌自家的应用也没有这样做。 

Jeffrey 的意思是 Java 与 Kotlin
具有极高的互操作性,所以两者完全可以共存于同一个项目中。“看看
Android Studio,它有几十万行代码,其中大约有 10% 的 Kotlin
代码。我们所做的只是使用 Kotlin 编写新功能。Kotlin 与 Java
具有很好的互操作性,可以在 Kotlin 中编写单个类,其余部分使用 Java
编写,或者使用 Kotlin 编写 99% 的代码,而剩下的一点点用 Java 来写。”

而具体应该继续使用 Java 还是转到 Kotlin,Jeffrey
表示这需要考虑一些因素,比如团队对于 Kotlin 的兴趣、Kotlin
的学习曲线之陡峭,还有能不能接受 Kotlin 本身相比 Java 在开发 Android
上的弱点,比如软件构建过程需要更长的时间,因为 Kotlin 编译器比通用 Java
编译器要慢,以及 Kotlin 生成的 APK 相对较大。

此外应用开发所处的阶段也需要考虑,Jeffrey 表示新项目使用 Kotlin
编写是更好的选择。

(文/开源中国)    

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图