在 2019 年 Google I/O 大会上,我们宣布 Android 开发将越来越以 Kotlin 优先,并且我们一直信守这一承诺。Kotlin 是一种富有表现力且简洁的编程语言,可减少常见的代码错误并轻松集成到现有应用中。如果您希望构建 Android 应用,我们建议您从 Kotlin 开始,以利用其一流的功能。
为了支持使用 Kotlin 进行 Android 开发,我们共同创立了 Kotlin 基金会,并持续投入改进编译器性能和构建速度。要详细了解 Android 对 Kotlin 优先的承诺,请参阅 Android 对 Kotlin 的承诺。
为什么 Android 开发是 Kotlin 优先?
我们审查了直接来自开发者大会、客户咨询委员会 (CAB)、Google 开发者专家 (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 由 Google 创建,用于开发轻量级编译器插件。 |
我们也使用 Kotlin!
我们的工程师喜欢 Kotlin 提供的语言特性,目前 Google 70 多个应用都是用 Kotlin 构建的。这包括 Maps、Home、Play、Drive 和 Messages 等应用。一个成功的例子来自 Google Home 团队,他们将新功能开发迁移到 Kotlin 后,代码库大小减少了 33%,NPE 崩溃次数减少了 30%。
要了解有关 Android 上 Kotlin 的更多信息,请参阅 Android 上的 Kotlin 常见问题解答。