自 Google 首次宣布将推出Kotlin (由 JetBrains 首次开发的 Java 虚拟机的静态类型语言)在 Google I/O 2017 上用于编写 Android 应用程序的一流语言以来,已经过去了五年多。从那时起,Google在 2019 年将 Kotlin 设为编写 Android 应用程序的首选语言,更进一步——尽管许多开发人员仍在使用 Java,但 Kotlin 正迅速成为为谷歌移动操作系统构建应用程序的默认方式。早在 2018 年,谷歌和 JetBrains 还联手推出了Kotlin 基金会。
本周早些时候,我与谷歌的 Kotlin 产品经理 James Ward 坐下来讨论了该语言在 Android 生态系统及其他领域的作用,以及该公司的未来计划。
毫不奇怪,谷歌希望随着时间的推移,所有 Android 开发人员都将转向 Kotlin。 “Android 上仍然有相当多的 Java 出现,”Ward 说。 “我们知道开发人员通常对 Kotlin 比对 Java 更满意。我们知道他们的生产力更高,应用程序的质量更高,因此让更多人迁移他们的更多代码一直是我们关注的重点。 Kotlin […] 与 Java 的互操作性使得人们可以逐步移动代码库,如果能在未来达到目标,一切都是 Kotlin,那就太好了。”
不过,我们还没有完全做到这一点,部分原因是 Java 生态系统是如此之大,以至于它仍然具有很大的吸引力。由于 Kotlin 与 Java 的互操作性,开发人员可以混合和匹配库,但要获得 Kotlin 的所有好处,开发人员必须留在 Kotlin 生态系统中。尽管所有焦点都集中在 Kotlin 上,但值得注意的是,Android 平台的核心及其 API 仍然构建在 Java 之上。现在有少数 Android 库是用 Kotlin 编写的,但显然这仍然只是整个平台的一小部分。
但今天的 Kotlin 也远不止是 Android。在这一点上,服务器端 Kotlin 在 Google 中变得越来越普遍,到目前为止,Google 的内部代码库中有超过 850 万行 Kotlin 代码。该公司表示,这个数字现在每年翻一番。
事实证明,谷歌近年来一直在努力从头开始重写 Kotlin 编译器。该新编译器承诺速度更快,并提供更好的接口,以允许 IDE 改进功能,如更好的代码提示和静态代码分析,现在处于测试阶段,可能会在明年发布。由于该公司已经为这个项目投入了相当多的资源——并且目前正在并行维护两个编译器——这意味着该语言本身的开发速度已经放缓了一点。
“我们故意放慢了语言的变化速度,因为我们让两个编译器并行运行,”Ward 说。 “一旦我们发布了新的编译器并且每个人都开始使用它,那么我们就可以在新的语言功能上投入更多。”
这些新功能包括上下文接收器,目前仍处于领先地位。这些将允许开发人员将参数传递给函数,例如,只编写一些代码和值来连接到数据库一次,然后每次需要再次建立连接时再次使用相同的上下文。
至于 Kotlin 基金会,值得注意的是,到目前为止,只有 Google 和 JetBrains 是这里的成员,两家公司利用该基金会来协调他们对 Kotlin 的投资。但沃德解释说,两家公司正在寻求通过新成员来扩大基金会。他说:“我们有一个扩大范围的计划。” “这是发展 Kotlin 生态系统的核心:发展 Kotlin 基金会,而不仅仅是作为创始成员的两家公司。”他指出,这两家公司还没有理由将基金会纳入 Linux 基金会这样的组织的保护伞下,部分原因是如果有两个成员,那将是矫枉过正,但随着谷歌和 JetBrains 的发展,这种情况可能会发生变化随着时间的推移带来更多的成员。
原文: https://techcrunch.com/2022/08/18/five-years-later-google-is-still-all-in-on-kotlin/