Kotlin Android Extensions 的未来计划

Kotlin Android Extensions 的未来计划

作者 / 产品经理 David Winer

Android Kotlin Extensions Gradle 插件 (请勿与 Android KTX 混淆) 发布于 2017 年,为使用 Kotlin 进行 Android 开发带来了两项新的便利功能:

  • Synthetic 视图 : 您可以将调用 findViewById 替换为使用 kotlinx.android.synthetic 进行 UI 交互。
  • @Parcelize 注解: 帮助您移除样板代码并通过 @Parcelize 注解轻松创建 Parcelable

我们随后发布了 适用于 Android 的视图绑定 组件,它是一个与 Android 构建工具链深度集成并提供与 Kotlin synthetic 类似功能的官方支持库。我们虽然仍推荐使用 Parcelize,但 Kotlin synthetic 却存在一些弊端:

  • 污染全局命名空间
  • 不能暴露可空性信息
  • 仅支持 Kotlin 代码

Android Kotlin Extensions 插件最初由 JetBrains 开发,我们也共同讨论了继续保留 synthetic 的利弊: 我们尽力确保在可行范围内对 API 的长期支持,但我们也希望为开发者提供指导,帮助开发者维护健康的代码库并最终赢得用户的满意。

在接下来的一年里,我们的团队将共同弃用 synthetics,并继续支持我们建议的选项——"视图绑定 (View Binding)"。这意味着:

  • 如果您正在使用 Parcelize,则可以继续使用相同的注解和 API。但是,注解包将更改为 kotlinx.parcelize,并且在模块级 Gradle 文件中,您需要开始使用独立的 kotlin-parcelize 插件而非 android-kotlin-extensions。您可以在 Android 开发者官方网站 上找到有关 Parcelize 的文档。
  • 如果您使用 Android Kotlin synthetics,建议尽快迁移到 "视图绑定 (View Binding)"。请参阅我们的 迁移指南 以了解更多详细信息。

弃用期随着 Kotlin 1.4.20 的发布正式开始。android-kotlin-extensions 将继续保留至少一年时间,但在 2021 年 9 月或之后的 Kotlin 版本中将被移除。长期来看,我们将继续保留 kotlin-parcelize 插件,您也可以继续在 Android Studio 问题追踪器 中提交有关 Parcelize 的问题。

版权声明

禁止一切形式的转载-禁止商用-禁止衍生 申请授权

脉脉不得语
脉脉不得语
Zhengzhou Website
Android Developer | https://androiddevtools.cn and https://androidweekly.io WebMaster | GDG Zhengzhou Funder & Ex Organizer | http://Toast.show(∞) Podcast Host

你已经成功订阅到 Android 开发技术周报
太棒了!接下来,完成检验以获得全部访问权限 Android 开发技术周报
欢迎回来!你已经成功登录了。
Unable to sign you in. Please try again.
成功!您的帐户已完全激活,您现在可以访问所有内容。
Error! Stripe checkout failed.
Success! Your billing info is updated.
Error! Billing info update failed.