在 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、协程等) | N/A | 是 |
在线培训 | 尽力而为 | 是 |
示例 | 尽力而为 | 是 |
多平台项目 | 否 | 是 |
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 常见问题解答。