Android 的 Kotlin 优先方针

在 2019 年 Google I/O 大会上,我们宣布 Android 开发将日益趋向“Kotlin 优先”,并且我们一直坚守这一承诺。Kotlin 是一种富有表现力且简洁的编程语言,它能减少常见的代码错误,并可轻松集成到现有应用中。如果您打算构建 Android 应用,我们建议从 Kotlin 开始,以便充分利用其一流的功能。

为了支持使用 Kotlin 进行 Android 开发,我们共同创立了 Kotlin 基金会,并持续投入资源以改进编译器性能和构建速度。如需了解更多关于 Android 坚持 Kotlin 优先的信息,请参阅 Android 对 Kotlin 的承诺

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 常见问题解答