Kotlin 1.8 将彻底移除 Kotlin Synthetics

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

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

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

责任编辑:未丽燕 来源: 开源中国
相关推荐

2017-05-19 18:01:04

GoogleKotlin数据

2017-08-03 15:54:50

Kotlin继承

2018-06-05 10:30:28

KotlinJava语言

2018-01-03 11:51:06

KotlinTipsJava

2020-10-20 18:40:15

微软EdgeFlash Playe

2023-10-24 19:37:34

协程Java

2024-01-08 09:00:00

开发DSLKotlin

2017-06-14 17:50:44

Kotlin写法Java

2017-10-20 10:19:49

Kotlin语言陷阱

2021-09-16 16:08:43

KotlinAndroidAOSP

2020-09-30 06:47:22

Kotlin机制

2017-07-05 17:50:52

KotlinJava程序员

2018-05-15 16:12:59

Kotlin扩展XxxUtils

2024-01-31 14:53:09

Kotlin云端缓存

2017-09-22 11:31:28

KotliJava编程语言

2017-06-08 14:25:46

Kotlin函数

2022-07-15 13:01:13

Kotlin编程语言Java

2021-07-09 14:26:11

KotlinLogo设计

2021-05-20 09:14:09

Kotlin协程挂起和恢复

2016-11-03 09:59:38

kotlinjavaspring
点赞
收藏

51CTO技术栈公众号