Java|谷歌力推 Kotlin:代码量比 Java 减少 80%


Java|谷歌力推 Kotlin:代码量比 Java 减少 80%
上周 , 谷歌刚刚推出免费的 Kotlin 和 Android 在线课程 , 教开发者使用 Kotlin 构建 Android 应用 。 很快 , Google Home 团队也现身说法 , 通过自身经历 , 展示了 Kotlin 开发的好处 。
Google Home 应用程序可用来连接并管理各类智能家居设备 。 与不少受谷歌 “Kotlin-first” 倡议影响的应用相同 , Google Home 也选择将 Kotlin 纳入其代码库 。 截至今年六月 , 该应用中约有 30% 的代码采用 Kotlin 编写 , 今后的新功能也被鼓励用 Kotlin 进行开发 。
Google Home 团队提到 , 与 Kotlin 配合使用的是同样被谷歌推行的 Jetpack 开源 UI 工具包 , 它结合了反应式编程模型和 Kotlin 编程语言的简洁性和易用性 , 旨在简化 UI 开发 。
尽管目前只有 1/3 代码迁移到了 Kotlin , 其高效和简洁的特性已使 Google Home 团队感受颇深 。 他们以数据类和 Parcelize 插件的使用为例证:在 Java 中由 126 行手写代码组成的类 , 在 Kotlin 中仅用 23 行就能够表示——代码量减少了 80% 。 此外 , Kotlin 中一些函数方法还简化了许多嵌套循环和过滤检查 。
另一方面 , Kotlin 的可空性(nullability)也得到了赞许 。 依旧是与 Java 相比 , Google Home 团队指出 , “Java 中对可空性注释的用法不一致时 , 可能会导致遗漏一些 bug” 。 而采用 Kotlin 以来 , Google Home 的 NullPointerExceptions 减少了 33% , 这恰是 Google Play 控制台上最常见的崩溃类型 , 由此带来的崩溃数量减少也许能够显著改善用户体验 。
Kotlin 编程语言 2011 年由 JetBrains 推出 , 2012 年开源 , 2017 年成为 Android 官方开发语言 , 并于 2019 年成为 Andoid 开发官方首选语言 。
从初始支持 Kotlin 再到 “Kotlin-first” , 谷歌一直在对其进行多方位扶持 , 先后推出了 Kotlin 免费在线课程和使用 Kotlin 构建 Android 应用的课程;同时不断完善着相关生态 , 比如今年四月开源了 gRPC-Kotlin/JVM , 让开发者可以在 Kotlin 项目中更方便地使用 gRPC 。
随着谷歌的极力推行 , Kotlin 的关注度一路水涨船高 , 最新的 JVM 生态报告显示 , Kotlin 已成为第二受欢迎的 JVM 语言 。 Android 开发专家沈哲在接受开源中国的采访时曾提到 , 国内一些公司也开始使用 Kotlin 开发 Android 项目 , “越来越多的开发者会选择 Kotlin 作为原生 App 的首选开发语言” 。
作为一门 JVM 语言 , 一门兼容甚至被认为要取代 Java 的语言 , Kotlin 的出场也往往伴随着与 Java 的比较 。 谷歌甚至推出了从 Java 迁移到 Kotlin 的官方指南 。 部分 Android 开发者仍在犹豫是否要转到 Kotlin , 有一些人已经从 Java 迁移到 Kotlin 又迁回了 Java 。 在一年前 Dice 网站发布的调查中 , 85% 的受访者几乎一边倒地选择仍旧使用 Java 来构建 Android 应用程序 。
但其实在谷歌工程师看来 , 并没有必要将二者完全划清界限 。 Android Studio 技术负责人 Jeffrey van Gogh 就曾讲过 , Java 与 Kotlin 具有极高的互操作性 , 所以两者完全可以共存于同一个项目中 。 目前如 Google Home 这样的谷歌自家应用 , 不少都采用这种融合式做法 , Kotlin 更多地被用来编写新功能 。
【Java|谷歌力推 Kotlin:代码量比 Java 减少 80%】那么 , 再回到 “Kotlin 还是 Java” 这个也许已经令 Android 开发者感到厌烦的问题上 , 定论显然并不存在 , 关键是选择最适合的方式 。