6

Kotlin 1.8 将彻底移除 Kotlin Synthetics

 2 years ago
source link: https://www.51cto.com/article/702734.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client
Kotlin 1.8 将彻底移除 Kotlin Synthetics-51CTO.COM
Kotlin 1.8 将彻底移除 Kotlin Synthetics
作者:Alias_Travis 2022-02-28 10:38:13
虽然 Synthetic 具备不错的优点,但 Synthetic 同时也存在诸如污染全局命名空间、不能暴露可空性信息和仅支持 Kotlin 代码的缺点。也正是因为这些缺点,后来 Android 团队发布了 View Binding 用于取代 findViewById。

Kotlin Android Extensions Gradle 插件最初由 JetBrains 开发,并于 2017 年发布。这个插件为 Android 开发提供了两项非常优秀的特性,分别是 Synthetics 和 Parcelize。

77cf74b477b8219c099288219c24517dcb6721.png

其中 Synthetic 可以让开发者减少对findViewById的使用,用 kotlinx.android.synthetic 绑定就能实现;而 Parcelize 可以让开发者用@Parcelize的注解就能实现 Parcelable 而不用写模板代码。

虽然 Synthetic 具备不错的优点,但 Synthetic 同时也存在诸如污染全局命名空间、不能暴露可空性信息和仅支持 Kotlin 代码的缺点。

也正是因为这些缺点,后来 Android 团队发布了 View Binding 用于取代 findViewById。View Binding 是一个允许开发者更容易编写与视图交互的代码的功能。一旦在一个模块中启用了 View Binding,它会为该模块中的每个 XML 布局文件生成一个绑定类。绑定类的一个实例包含对所有在相应布局中拥有 ID 的视图的直接引用。

为了支持更好的解决方案,在 2020 年 11 月,Android 开发团队就宣布 Android Kotlin Extensions Gradle 插件已经被废弃,并建议开发者从项目中删除这个插件。为了开发者有更多的时间来完成迁移,Android 开发团队还延长了支持的时间。

如今,Android 团队为迁移设定了一个最后期限:该插件将在 Kotlin 1.8 中被彻底移除,该版本预计将于 2022 年底发布。届时,如果你的项目仍然依赖于这个插件,开发者将无法更新到最新的 Kotlin 版本。

开发者无需担心该插件所包含的另一个功能 Parcelize,Parcelize 现在可以在独立的 kotlin-parcelize 插件中使用,功能上没有发生任何变化。

本文转自OSCHINA

本文标题:Kotlin 1.8 将彻底移除 Kotlin Synthetics

本文地址:https://www.oschina.net/news/184251/discontinuing-kotlin-synthetics

责任编辑:未丽燕 来源: 开源中国
zanpc.bd208a1.pngzanpchover.fdd60ba.png
weixin.23cd8b3.png 分享到微信
weibo.16d6b4f.png 分享到微博

Recommend

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK