乐趣区

关于kotlin:FAQ-使用-Kotlin-进行-Android-开发

自从 2017 年咱们发表反对 Kotlin 以来,收到了很多对于应用 Kotlin 进行 Android 开发的问题: 大家想晓得当初是否适宜学习 Kotlin,是否要在利用开发中引入 Kotlin,学习 Kotlin 的最佳课程或教程是什么,Google 外部是否在应用 Kotlin,以及咱们对 Java 编程语言的布局是怎么的?本文将一一作答。

问: 是否应该学习 Kotlin 进行 Android 开发?

最常提及的问题大都围绕同一个话题:

  • “ 对于初学者,应该抉择学习 Kotlin 还是 Java 编程语言?”
  • “ 如果曾经把握了 Java 基础知识,当初适宜改用 Kotlin 进行 Android 开发吗?”
  • “ 对于资深 Java 开发者如果学习 Android 开发,举荐间接上手 Kotlin 还是应用 Java 入门呢?”

简略来说:

是的!开始学习和应用 Kotlin 吧!

开展来答复:

Kotlin 与 Android

2017 年,咱们在 Google I/O 大会上发表反对 Kotlin。从那时起,咱们开始着手确保咱们的 API、文档和示例实用于 Kotlin。2019 年,Kotlin 成为 Android 开发的首选语言,这让咱们开始更加依赖于 Kotlin 的性能。例如,协程成为咱们实现异步操作的举荐计划。

咱们还做了以下工作:

Kotlin 优先库

首先在若干 Android Jetpack API (如 Room、LiveData、ViewModel 和 WorkManager) 中,咱们减少了对 Kotlin 协程的一流反对,从而转变了在 Android 上执行异步操作的形式。Firebase Android SDK 和许多 Jetpack 库都具备 Kotlin 扩大库 (KTX),通过 Kotlin 应用起来更加晦涩。

当初,咱们的很多库都优先应用 Kotlin,如 Paging 3.0 和 DataStore。Jetpack Compose 是全新的、独立的、申明式 UI 工具包,它从头到尾应用 Kotlin 编写。

工具

开发效率源自弱小的工具。因而,咱们对编译工具链做了很多针对 Kotlin 的改良,包含对 Kotlin JVM 编译器的改良、针对 Kotlin 的 R8 优化,甚至还开发了 Kotlin Symbol Processing 等新工具。咱们增加了内置 Android Kotlin Live 模板,供您应用简写语法将常见的 Android 代码构造利用到 Kotlin 代码。同时,针对 Kotlin 的 Lint 查看可帮忙您确保 Kotlin 代码更合乎语言习惯。该工具在您从 Java 编程语言过渡到 Kotlin 时尤其有用。

问: Google 外部是否在应用 Kotlin?

在 Google 外部,咱们也在着力推广应用 Kotlin。咱们有超过 60 个利用 (如 Google Home、Drive、Maps 等) 已将 Kotlin 增加到代码库中。咱们宏大的外部代码库中已有超过 200 万行 Kotlin 代码。

问: 是否应该将利用迁徙到 Kotlin?

咱们常常收到这一问题,但最终的答案因人而异。如果您对以后的代码库和技术栈感到称心,能纯熟应用您的解决方案来治理异步工作,并且具备高效的谬误捕捉办法,那么迁徙到 Kotlin 对您来说可能不是适合的解决方案。

如果您在试用 Kotlin 之后或通过下文提到的一些课程学习该语言之后,很喜爱它的成果,而且心愿充分利用最新的 Jetpack API,那么您应该思考将 Kotlin 退出到利用开发中。Kotlin 的一大劣势在于它与 Java 有很好的互操作性。您能够循序渐进地采纳 Kotlin,比方能够首先在测试中试用,而后在新性能中试用,在缓缓接触的过程中,再尝试转换局部旧代码。

着手迁徙到至 Kotlin,请查阅 Codelab 教程 – 转换到 Kotlin。

问: Java 编程语言在 Android 开发中将如何倒退?

咱们在 Java 的根底上减少了对 Kotlin 的反对,因为这两种语言都能够编译成雷同的字节码,并且能够共存。咱们喜爱 Kotlin 是因为用它编写代码更易于表白、更平安,同时咱们也会持续 保护并推动对 Java 语言的反对。例如,在 Android 11 中,从 OpenJDK 的较新版本始终到版本 13,咱们减少了对许多 API 的反对,Android Studio 甚至反对在所有 Android 设施上应用其中一些 API,而不受操作系统版本的限度。查阅文章,进一步理解 对 OpenJDK 中新 API 的反对状况。

问: 学习 Kotlin 的最佳路径是什么?

驳回一门新语言并非易事,但咱们正致力使其尽可能简略:

  • 首先从 培训课程 开始,这些课程面向所有开发者,涵盖初学者到业余开发者。既蕴含面向 没有编程教训 的初学者新开设的在线课程 应用 Kotlin 构建 Android 利用的基础知识,也有解说如何 应用协程 的高级教程,帮忙您晋升应用 Kotlin 进行 Android 开发的技能。
  • 咱们的所有文档页面都蕴含 Kotlin 代码段,不便您比拟以两种语言运行 API 的成果,并且所有 示例 都有 Kotlin 版本。
  • 您能够查看 文章,观看 视频,从中学习各种 Kotlin 主题的内容。
  • 对于想要 改用 Kotlin 的 开发者 和 团队,请拜访 官网文档 理解相干的指南。

自从 3 年前正式减少对 Kotlin 的反对以来,咱们始终在加大力度对这一杰出的语言和生态系统进行反对。咱们携手 JetBrains 一起为 Kotlin 建设了松软的根底,确保该语言衰弱倒退,例如,通过审慎的流程来审核重大变更。咱们的奉献不止于此: Google 外部有一支专职钻研 Kotlin 编译器的工程师团队;咱们正在构建的 Jetpack API 不仅反对 Kotlin,而且以 Kotlin 为首选语言;咱们还致力于为应用 Kotlin 进行 Android 开发提供无缝的体验。

Java 是 Oracle 公司和 / 或其子公司的注册商标。

退出移动版