谷歌安卓應用開發困境:Java轉向Kotlin、官方庫頻繁更新帶來“破壞性變更”等

IT之家
06-10

IT之家 6 月 10 日消息,科技媒體 devclass 今天(6 月 10 日)發佈博文,從軟件工程師 Ashish Bhatia 視角爲切入點,一窺目前開發安卓應用的困境。該媒體稱 Bhatia 遇到的問題並非個例,而是代表性問題,是安卓應用開發所面臨挑戰的一個縮影。

IT之家簡要介紹下 Bhatia,他是一位經驗豐富的軟件工程師,曾參與 Google 的 Android 安全項目,目前開發一款名爲 MusicSync 的媒體應用。

這款應用使用 Java 編寫,但隨着谷歌將 Kotlin 設爲首選開發語言,Java 開發者面臨困境。Bhatia 指出,在 Java 中,完全無法使用谷歌官方 UI 庫 Jetpack Compose,而依賴庫從 Java 遷移到 Kotlin 方面,常常需要複雜的解決方法,Kotlin 的協程和掛起函數更是帶來了兼容性問題。

此外,安卓官方庫的更新頻繁帶來“破壞性變更”,例如媒體庫 ExoPlayer 在 2024 年升級爲 ExoPlayer v2,隨後又被 Jetpack Media3 取代,每次更新都可能導致應用崩潰。

安卓系統的每次大版本更新都會引入新的“破壞性變更”,尤其是在通知、存儲權限和後臺代碼執行等方面,開發者必須不斷調整代碼以適應新規。

Bhatia 還提到,UI 設計指南的頻繁變動令人頭痛,Material 2 被 Material 3 取代,大部分文檔只針對 Kotlin,缺乏清晰的 Java 遷移指南。

更糟糕的是,第三方庫也常被棄用或停止維護,進一步加重開發負擔。開發者無法僅開發一款應用後置之不理,必須持續投入精力更新,否則應用可能因 minSdkVersion 過舊而被 Google Play 商店下架。

Bhatia 的觀點引發了廣泛共鳴。一位開發者表示,維護應用是“巨大的負擔”,每隔幾個月就必須更新以符合新政策,包括稅務信息、隱私政策和強制性 API 調整等。

另一位開發者提到,他從 2012 年起維護一款應用,在 Google Play 商店發佈了 108 個版本,深感疲憊。

此外,谷歌對新應用使用 App Bundles 的要求也引發爭議,開發者需將根簽名密鑰交給谷歌,存在應用被未經授權修改的風險。儘管有“代碼透明性”功能作爲緩解措施,但許多開發者仍對此表示擔憂。

這種開發環境的摩擦顯著增加了商業應用的主導地位,因爲只有它們有足夠的收入支撐開發成本,免費開源或個人愛好者的應用則更容易被放棄。

一位開發者無奈表示:“開發應用本身很簡單,但應用商店的官僚作風讓人完全不想繼續,除非你是大公司。”

另一位開源 SSH 文件傳輸應用的開發者也指出,Google 的苛刻要求和商業化導向迫使許多優質免費應用(如 Termux)退出平臺。

免責聲明:投資有風險,本文並非投資建議,以上內容不應被視為任何金融產品的購買或出售要約、建議或邀請,作者或其他用戶的任何相關討論、評論或帖子也不應被視為此類內容。本文僅供一般參考,不考慮您的個人投資目標、財務狀況或需求。TTM對信息的準確性和完整性不承擔任何責任或保證,投資者應自行研究並在投資前尋求專業建議。

熱議股票

  1. 1
     
     
     
     
  2. 2
     
     
     
     
  3. 3
     
     
     
     
  4. 4
     
     
     
     
  5. 5
     
     
     
     
  6. 6
     
     
     
     
  7. 7
     
     
     
     
  8. 8
     
     
     
     
  9. 9
     
     
     
     
  10. 10