Google釋出AndroidX預覽版,計畫取代向後兼容支援函式庫(Support Library),以解決隨著函式庫發展,所引發的版本號困擾。Google提到,現階段釋出的AndroidX屬於預覽版,存在一些已知的問題,不建議開發者使用在線上產品。

Google在7年前開始為Android開發者提供向後兼容框架API,而經過這些年的發展,向後兼容支援函式庫已經發展的相當成熟,包括支援特定裝置的UX設計、除錯、測試以及其他公用程式,Google提到,多數的Android應用程式都已經使用支援函式庫,因此他們決定對此增加投資。

在訪問許多開發者後,Google獲得了一個一致的回饋,就是函式庫版本不夠直覺且已經開始造成混淆。像是最小支援的SDK版本號為14,但是其中有套件或是組件版本號為v7,Google希望讓開發者可以清楚區別不同Android版本在平臺綑綁以及固定函式庫間API的不同。

Google表示,現在編寫Android應用程式會使用兩種類別,其中一種像是PackageManager的類別,與作業系統綑綁在一起,為不同的Android版本提供不同的API和行為,而像是AppCompatActivity或ViewModel這樣的類別與作業系統無關,其打包在APK中。但Google認為,在多數的時候,與作業系統捆綁的類別似乎是更好的選擇,因為可以跨不同的Android版本,並且提供單一的API介面,因此這次的重構將把這些非綑綁在作業系統的函式庫,移到AndroidX套件中,使其中的相依關係更加清楚。

另外,Google也重新設計了AndroidX套件結構,更鼓勵小型與功能集中的函式庫,同時,支援函式庫和架構組件(Architecture Components)套件命名也簡化了。最後,AndroidX採用嚴格的語意版本控制來明確表達二元相容性,像是1.5.0版本與1.7.0相容,但是與2.0.0不相容。

Google提到,這個變更將影響現存的程式專案,皆需要程式碼重構或是改變相依關係,因此Android Studio Canary 14將提供重構功能,幫助開發者簡單的完成這些必要工作。Google表示,現在AndroidX仍是Alpha測試版,開發者可以先預覽對遷移做準備,但因為內含一些已知的問題,不適合用於線上的產品。

熱門新聞

Advertisement