Kotlin 1.8 将彻底移除 Kotlin Synthetics

虽然 Synthetic 具备不错的优点,但 Synthetic 同时也存在诸如污染全局命名空间、不能暴露可空性信息和仅支持 Kotlin 代码的缺点。也正是因为这些缺点,后来 Android 团队发布了 View Binding 用于取代 findViewById。

虽然 Synthetic 具备不错的优点,但 Synthetic 同时也存在诸如污染全局命名空间、不能暴露可空性信息和仅支持 Kotlin 代码的缺点。也正是因为这些缺点,后来 Android 团队发布了 View Binding 用于取代 findViewById。

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

Kotlin 1.8 将彻底移除 Kotlin Synthetics

其中 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

©本文为清一色官方代发,观点仅代表作者本人,与清一色无关。清一色对文中陈述、观点判断保持中立,不对所包含内容的准确性、可靠性或完整性提供任何明示或暗示的保证。本文不作为投资理财建议,请读者仅作参考,并请自行承担全部责任。文中部分文字/图片/视频/音频等来源于网络,如侵犯到著作权人的权利,请与我们联系(微信/QQ:1074760229)。转载请注明出处:清一色财经

(0)
打赏 微信扫码打赏 微信扫码打赏 支付宝扫码打赏 支付宝扫码打赏
清一色的头像清一色管理团队
上一篇 2023年5月6日 12:38
下一篇 2023年5月6日 12:39

相关推荐

发表评论

登录后才能评论

联系我们

在线咨询:1643011589-QQbutton

手机:13798586780

QQ/微信:1074760229

QQ群:551893940

工作时间:工作日9:00-18:00,节假日休息

关注微信