IT之家 06月10日 08:53
谷歌安卓应用开发困境:Java 转向 Kotlin、官方库频繁更新带来“破坏性变更”等
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

本文聚焦于安卓应用开发的挑战,基于软件工程师 Ashish Bhatia 的视角,探讨了Java开发者在Kotlin、Jetpack Compose、以及频繁更新的安卓生态系统中所面临的困境。文章指出,开发者需要不断适应破坏性变更、UI设计指南的变动以及第三方库的弃用,这增加了维护应用的负担。此外,谷歌对App Bundles的要求和商业化导向也引发争议,使得免费开源应用面临困境。这些问题共同塑造了安卓应用开发生态,影响着开发者和应用的发展。

📱 Java 开发者面临的挑战:由于谷歌将Kotlin设为首选开发语言,Java开发者在应用开发中面临困境,无法使用Jetpack Compose,从Java迁移到Kotlin也需要复杂的解决方法,Kotlin的协程和挂起函数带来兼容性问题。

🔄 安卓生态系统的频繁更新:安卓官方库的频繁更新带来“破坏性变更”,例如媒体库ExoPlayer的升级和被Jetpack Media3取代,以及安卓大版本更新引入的新规,都迫使开发者不断调整代码以适应新环境。

🎨 UI设计指南的变动与第三方库的弃用:UI设计指南的频繁变动,如Material 2被Material 3取代,以及第三方库的弃用,加重了开发者的负担,开发者需要持续投入精力更新应用,否则可能被下架。

🔑 App Bundles 和商业化导向带来的争议:谷歌对新应用使用App Bundles的要求引发争议,开发者需将根签名密钥交给谷歌,存在应用被未经授权修改的风险。谷歌的商业化导向也迫使许多优质免费应用退出平台。

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)退出平台。

Fish AI Reader

Fish AI Reader

AI辅助创作,多种专业模板,深度分析,高质量内容生成。从观点提取到深度思考,FishAI为您提供全方位的创作支持。新版本引入自定义参数,让您的创作更加个性化和精准。

FishAI

FishAI

鱼阅,AI 时代的下一个智能信息助手,助你摆脱信息焦虑

联系邮箱 441953276@qq.com

相关标签

安卓开发 Java Kotlin App Bundles
相关文章