在 2019 年 Google I/O 大会上,我们宣布 Android 开发将日益趋向“Kotlin 优先”,并且我们一直坚守这一承诺。Kotlin 是一种富有表现力且简洁的编程语言,它能减少常见的代码错误,并可轻松集成到现有应用中。如果您打算构建 Android 应用,我们建议从 Kotlin 开始,以便充分利用其一流的功能。
为了支持使用 Kotlin 进行 Android 开发,我们共同创立了 Kotlin 基金会,并持续投入资源以改进编译器性能和构建速度。如需了解更多关于 Android 坚持 Kotlin 优先的信息,请参阅 Android 对 Kotlin 的承诺。
为什么 Android 开发采用 Kotlin 优先?
我们审阅了直接来自开发者大会、客户咨询委员会 (CAB)、谷歌开发者专家 (GDE) 以及我们的开发者研究项目的反馈。许多开发者已经非常喜欢使用 Kotlin,而且要求提供更多 Kotlin 支持的呼声非常明确。以下是开发者对使用 Kotlin 进行开发的评价:
- 富有表现力且简洁: 用更少的代码实现更多的功能。表达您的想法,并减少样板代码量。67% 使用 Kotlin 的专业开发者表示,Kotlin 提高了他们的生产力。
- 更安全的代码: Kotlin 拥有许多语言特性,可帮助您避免常见的编程错误,例如空指针异常。包含 Kotlin 代码的 Android 应用崩溃的可能性降低了 20%。
- 互操作性: 您可以在 Kotlin 中调用基于 Java 的代码,也可以在基于 Java 的代码中调用 Kotlin。Kotlin 与 Java 编程语言 100% 可互操作,因此您可以根据需要,在项目中灵活使用 Kotlin。
- 结构化并发: Kotlin 协程使异步代码的处理变得像同步代码一样简单。协程极大地简化了后台任务管理,涵盖从网络调用到访问本地数据的方方面面。
“Kotlin 优先”意味着什么?
在构建新的 Android 开发工具和内容(如 Jetpack 库、示例、文档和培训内容)时,我们将优先考虑 Kotlin 用户,同时继续为使用 Java 编程语言调用我们的 API 提供支持。
| Java 语言 | Kotlin | |
|---|---|---|
| 平台 SDK 支持 | 是 | 是 |
| Android Studio 支持 | 是 | 是 |
| Lint | 是 | 是 |
| 指导文档支持 | 是 | 是 |
| API 文档支持 | 是 | 是 |
| AndroidX 支持 | 是 | 是 |
| AndroidX Kotlin 专用 API(KTX、协程等) | 不适用 | 是 |
| 在线培训 | 尽力支持 | 是 |
| 示例 | 尽力支持 | 是 |
| 多平台项目 | 否 | 是 |
| Jetpack Compose | 否 | 是 |
| 编译器插件支持 | 否 | 是 - Kotlin 符号处理 API (KSP) 由 Google 创建,旨在开发轻量级的编译器插件。 |
我们也使用 Kotlin!
我们的工程师非常欣赏 Kotlin 提供的语言特性,目前 Google 已有超过 70 款应用使用 Kotlin 构建。这包括 Maps、Home、Play、Drive 和 Messages 等应用。一个成功的例子来自 Google Home 团队,他们将新功能的开发迁移到 Kotlin 后,代码库大小缩减了 33%,NPE(空指针)崩溃数量减少了 30%。
如需了解更多关于 Android 上的 Kotlin 的信息,请参阅 Android 上的 Kotlin 常见问题解答。