在 2019 年的 Google I/O 大会上,我们宣布 Android 开发将越来越以 Kotlin 为主,我们一直信守承诺。Kotlin 是一种表达能力强且简洁的编程语言,可以减少常见的代码错误,并轻松集成到现有应用程序中。如果您想构建 Android 应用程序,我们建议您从 Kotlin 开始,以利用其一流的功能。
为了支持使用 Kotlin 进行 Android 开发,我们共同创立了 Kotlin 基金会,并不断投资于改进编译器性能和构建速度。要详细了解 Android 对 Kotlin 首选方法的承诺,请参阅 Android 对 Kotlin 的承诺。
为什么 Android 开发以 Kotlin 为主?
我们审查了来自开发者大会、客户咨询委员会 (CAB)、Google 开发者专家 (GDE) 以及通过我们的开发者研究获得的直接反馈。许多开发者已经喜欢使用 Kotlin,对更多 Kotlin 支持的需求非常明显。以下开发者对 Kotlin 的使用感到满意。
- 表达能力强且简洁: 用更少的代码做更多的事。表达您的想法并减少样板代码的数量。使用 Kotlin 的 67% 的专业开发者表示,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、协程等) | N/A | 是 |
在线培训 | 尽力而为 | 是 |
示例 | 尽力而为 | 是 |
多平台项目 | 否 | 是 |
Jetpack Compose | 否 | 是 |
编译器插件支持 | 否 | 是 - Kotlin 符号处理 API 由 Google 创建,用于开发轻量级编译器插件。 |
我们也使用 Kotlin!
我们的工程师喜欢 Kotlin 提供的语言功能,如今,超过 70 款 Google 应用程序都是使用 Kotlin 构建的。其中包括 Maps、Home、Play、Drive 和 Messages 等应用程序。一个成功案例来自 Google Home 团队,他们将新功能开发迁移到 Kotlin 后,代码库规模减少了 33%,NPE 崩溃次数减少了 30%。
要详细了解 Android 上的 Kotlin,请参阅 Android 上的 Kotlin 常见问题解答。