Kotlin DSL 现已成为全新 Gradle 构建的默认设置

Kotlin DSL 现已成为新 Gradle 构建的默认设置,即刻上手体验,编写更出色的 Android 应用吧!

Kotlin DSL 现已成为全新 Gradle 构建的默认设置

作者 / Kotlin 产品经理 James Ward、开发者关系工程师 Boris Farber

四年来,Android 一直贯彻 “Kotlin 优先” 的原则,许多 Android 开发者已经做出了改变,陆续推出了效率更高、性能更稳定的应用。然而,尽管 Kotlin (build.gradle.kts) 语言已经在 Gradle 中存在多年,但定义构建的默认语言一直是 Groovy (build.gradle)。

现在,我们非常高兴地宣布将把构建脚本的默认语言切换为 Kotlin!这意味着 Kotlin 是所有项目代码的唯一默认语言,包括利用 Jetpack Compose 开发的用户界面,以及最新支持的构建脚本!在我们与 Gradle 和 JetBrains 团队的不懈努力下,终于为您带来这项改进。了解更多详情,您可以参阅相关公告: Gradle 博客JetBrains 博客

这项改进不会影响使用 Groovy 语言的现有项目。这些项目将继续正常运行,暂无任何弃用计划。但如果您通过 Android Studio Giraffe 开始创建新项目或新模块,则将默认使用 Kotlin DSL。利用经过更新的项目模板,您可使用新的 Kotlin DSL 构建脚本轻松上手。如要迁移现有构建,您可以查看 Kotlin DSL 迁移指南

虽然 Kotlin DSL 是创建新项目时的默认语言,但基于 Groovy DSL 的大型现有项目的迁移工作不可操之过急。Gradle、JetBrains 和 Google 正致力于进一步提高构建性能。这项工作正在进行中,我们将在取得进展时与您分享最新动态。具体而言,Kotlin DSL 的脚本编译性能慢于 Groovy DSL。然而,与 Groovy DSL 不同的是,Kotlin DSL 脚本编译结果存储在 Gradle 本地和远程缓存中,因此您无需在后续构建过程中重新编译。

推出这一改进有很多好处,为项目中的所有代码使用单一语言只是其中之一,让我们来看看使用 Kotlin DSL 构建 Gradle 的其他优势。

  • Kotlin 是静态类型语言,因此您在编辑 Kotlin DSL 构建脚本时可以获得快速而准确的代码提示:

    Kotlin DSL 现已成为全新 Gradle 构建的默认设置
  • 检查语法错误功能更准确,且系统会在您编辑 Kotlin DSL 构建脚本时显示语法错误,而不是在尝试同步项目时显示:

    Kotlin DSL 现已成为全新 Gradle 构建的默认设置
  • 按下 Control+Q (如果使用 macOS,则为 Command+B) 即可获取类型和方法文档。如果您需要更多详细信息,则可通过按下 Control 并单击鼠标左键 (如果使用 macOS,则是按下 Command 并单击鼠标左键) 转到底层源代码:

    Kotlin DSL 现已成为全新 Gradle 构建的默认设置
  • 您可以在一个项目中混合使用 Groovy DSL 构建脚本和 Kotlin DSL 构建脚本,然后逐个模块进行迁移。您可借助此功能为新模块启用 Kotlin DSL,同时保留使用 Groovy 的现有模块。

我们还对新的项目模板进行了相关更改。这是一个实验性功能,可以支持您搭配使用 Gradle 版本目录 与 Kotlin DSL 构建脚本。

Kotlin DSL 现已成为全新 Gradle 构建的默认设置

借助版本目录,您可使用集中化、可扩展的方式来定义项目的依赖项。虽然我们并不强制要求您使用版本目录,但其可在构建定义中提供更多类型安全性,是 Kotlin DSL 的完美搭档。

Kotlin DSL 现已成为全新 Gradle 构建的默认设置

您可以查看《迁移指南》,了解关于迁移到版本目录的更多信息。

新推出的 Kotlin DSL 默认更改现已可在 Android Studio Giraffe 预览版 中使用。欢迎您即刻试用并 与我们分享您的使用感受!也欢迎您持续我们,及时了解更多开发技术和产品更新等资讯动态。

谷饭原创编/译文章,作者:脉脉不得语,转载请注明出处来自谷饭,并加入本文链接: https://www.goofan.com/2023/05/kotlin-dsl-is-now-default-for-new-gradle-builds/

(0)
脉脉不得语脉脉不得语谷饭作者
上一篇 2023年 5月 18日 上午9:10
下一篇 2023年 5月 18日 下午1:22

相关推荐

wechat
关注微信公众号