Google給出Kotlin Android Extensions Gradle套件明確的刪除時間表,將會在今年年底發布的Kotlin 1.8中移除,屆時仍相依於Kotlin Android Extensions Gradle套件的專案,將無法更新到新的Kotlin版本。

Kotlin Android Extensions Gradle套件在2017年的時候發布,在Kotlin的Android開發提供兩項方便的功能,分別是Synthetics和Parcelize。Synthetics是為了要減少呼叫findViewById所需要的樣板程式碼,因此由JetBrains在Kotlin Android Extensions Gradle套件中,提供創建存取視圖的合成屬性。

從那時起,Google發布了適用於Android的View Binding,這是一個由官方支援的函式庫,並且和Android建置工具鏈深度整合,提供類似Kotlin Synthetics的功能。但Google發現Kotlin Synthetics有幾個明顯的缺點,除了污染全域命名空間,不公開可空資訊之外,而且還僅適用Kotlin程式碼。

因此在2020年11月的時候,Google就宣布要停用這個套件,支援更新更好的解決方案,並且建議用戶在專案中刪除該套件。

但官方提到,他們發現有許多用戶仍然依賴這個套件的功能,所以延長了支援時間,讓用戶有更多的搬遷時間。而現在這個延長時間,已經到了最後的期限,因此官方預計在2022年底要發布的Kotlin 1.8 中,刪除Kotlin Android Extensions Gradle套件。

同時官方建議用戶,應採用從XML布局檔案所產生的類型安全綁定類別來綁定視圖,而非使用原本Synthetics的方法,這些綁定讓開發者方便地引用視圖參照,並且安全地將其用於各種配置的布局。Google建議用戶,在建構新功能的時候,考慮使用Android新的UI工具包Jetpack Compose,由於Compose是以宣告式的方法建置布局,因此不需要使用視圖參照。

Kotlin Android Extensions Gradle套件中的另一個功能Parcelize,供用戶創建可打包的類別,現在Parcelize在獨立的套件kotlin-parcelize中提供,所有功能不變。

熱門新聞

Advertisement