在 2019 年 Google I/O 大会上,我们宣布今后将优先采用 Kotlin 进行 Android 开发,并且也坚守了这一承诺。Kotlin 是一种富有表现力且简洁的编程语言,不仅可以减少常见代码错误,还可以轻松集成到现有应用中。如果您想构建 Android 应用,建议您从 Kotlin 开始着手,充分利用一流的 Kotlin 功能。
为了支持使用 Kotlin 进行 Android 开发,我们和另一组织联手创办了 Kotlin 基金会,不断投入人力物力来提高编译器性能和 build 速度。如需详细了解 Android 的 Kotlin 优先承诺,请参阅 Android 在 Kotlin 方面的承诺。
为什么要优先使用 Kotlin 进行 Android 开发?
我们查看了直接来自与会开发者、我们的客户顾问委员会 (CAB)、Google Developers 专家 (GDE) 的反馈,以及我们通过开发者调研获得的反馈。许多开发者已喜欢上使用 Kotlin,且提供更多 Kotlin 支持的呼声很高。下面介绍了开发者喜欢用 Kotlin 编写代码的原因:
- 富有表现力且简洁:您可以使用更少的代码实现更多的功能。表达自己的想法,少编写样板代码。在使用 Kotlin 的专业开发者中,有 67% 的人反映其工作效率有所提高。
- 更安全的代码:Kotlin 有许多语言功能,可帮助您避免 null 指针异常等常见编程错误。包含 Kotlin 代码的 Android 应用发生崩溃的可能性降低了 20%。
- 可互操作:您可以在 Kotlin 代码中调用 Java 代码,或者在 Java 代码中调用 Kotlin 代码。Kotlin 可完全与 Java 编程语言互操作,因此您可以根据需要在项目中添加任意数量的 Kotlin 代码。
- 结构化并发:Kotlin 协程让异步代码像阻塞代码一样易于使用。协程可大幅简化后台任务管理,例如网络调用、本地数据访问等任务的管理。
Kotlin 优先意味着什么?
在构建新的 Android 开发工具和内容(例如 Jetpack 库、示例、文档和培训内容)时,我们会在设计层面考虑到 Kotlin 用户,同时继续支持通过 Java 编程语言使用我们的 API。
Java 语言 | Kotlin | |
---|---|---|
平台 SDK 支持 | 是 | 是 |
Android Studio 支持 | 是 | 是 |
Lint | 是 | 是 |
引导式文档支持 | 是 | 是 |
API 文档支持 | 是 | 是 |
AndroidX 支持 | 是 | 是 |
AndroidX Kotlin 特有 API(KTX、协程等) | 无 | 是 |
在线培训 | 尽力而为 | 是 |
示例 | 尽力而为 | 是 |
多平台项目 | 否 | 是 |
Jetpack Compose | 否 | 是 |
编译器插件支持 | 否 | 是 - Kotlin Symbol Processing API 由 Google 创建,用于开发轻量级编译器插件。 |
我们也使用 Kotlin!
我们的工程师喜欢使用 Kotlin 提供的语言功能,目前有超过 70 款 Google 应用都是使用 Kotlin 构建的。这包括 Google 地图、Google Home、Play、Google 云端硬盘和 Google 信息等应用。其中一个成功案例来自 Google Home 团队,他们将新功能开发工作迁移到 Kotlin 后,代码库大小减少了 33%,NPE 崩溃次数减少了 30%。
如需详细了解在 Android 开发中使用 Kotlin,请参阅在 Android 开发中使用 Kotlin 语言的常见问题解答。