谷歌安卓应用开发困境:Java转向Kotlin、官方库频繁更新带来“破坏性变更”等

内容摘要6 月 10 日消息,科技媒体 devclass 今天(6 月 10 日)发布博文,从软件工程师 Ashish Bhatia 视角为切入点,一窥目前开发安卓应用的困境。该媒体称 Bhatia 遇到的问题并非个例,而是代表性问题,是安卓应用开

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

【来源:IT之家】
 
举报 收藏 打赏 评论 0
今日推荐
浙ICP备19001410号-1

免责声明

本网站(以下简称“本站”)提供的内容来源于互联网收集或转载,仅供用户参考,不代表本站立场。本站不对内容的准确性、真实性或合法性承担责任。我们致力于保护知识产权,尊重所有合法权益,但由于互联网内容的开放性,本站无法核实所有资料,请用户自行判断其可靠性。

如您认为本站内容侵犯您的合法权益,请通过电子邮件与我们联系:675867094@qq.com。请提供相关证明材料,以便核实处理。收到投诉后,我们将尽快审查并在必要时采取适当措施(包括但不限于删除侵权内容)。本站内容均为互联网整理汇编,观点仅供参考,本站不承担任何责任。请谨慎决策,如发现涉嫌侵权或违法内容,请及时联系我们,核实后本站将立即处理。感谢您的理解与配合。

合作联系方式

如有合作或其他相关事宜,欢迎通过以下方式与我们联系: