摘要:在安卓应用开发领域,一位资深软件工程师Ashish Bhatia的遭遇,近期引起了广泛关注。Bhatia,这位曾参与谷歌Android安全项目的专家,如今正致力于开发一款名为MusicSync的媒体应用,他的经历揭示了当前安卓开发者所面临的种种挑战。
在安卓应用开发领域,一位资深软件工程师Ashish Bhatia的遭遇,近期引起了广泛关注。Bhatia,这位曾参与谷歌Android安全项目的专家,如今正致力于开发一款名为MusicSync的媒体应用,他的经历揭示了当前安卓开发者所面临的种种挑战。
Bhatia的困境首先源自于编程语言的选择。他的MusicSync应用采用Java编写,然而,随着谷歌将Kotlin确立为首选开发语言,Java开发者们陷入了两难境地。Bhatia指出,Jetpack Compose这一谷歌官方的UI库,完全不支持Java,而Java开发者在尝试将依赖库迁移到Kotlin时,往往需要面对复杂的解决方案。Kotlin的协程和挂起函数也为Java开发者带来了兼容性问题,增加了开发难度。
安卓官方库的频繁更新,也是开发者们不得不面对的另一个挑战。例如,媒体库ExoPlayer在计划中的2024年升级后,将被Jetpack Media3所取代。这种“破坏性变更”不仅可能导致应用崩溃,还要求开发者不断调整代码以适应新的库版本。而安卓系统的每次大版本更新,都会引入新的变更,特别是在通知、存储权限和后台代码执行等方面,开发者必须时刻关注并适应这些变化。
UI设计指南的频繁变动同样让开发者们头疼不已。Material 2被Material 3取代,而大部分文档都只针对Kotlin,缺乏清晰的Java迁移指南。这意味着,即使开发者想要遵循最新的设计指南,也可能因为语言限制而面临困难。
第三方库的弃用或停止维护,也给开发者带来了额外的负担。开发者必须持续投入精力更新应用,否则可能因minSdkVersion过旧而被Google Play商店下架。这种持续的压力,让许多开发者感到疲惫不堪。
Bhatia的观点在开发者社区中引发了广泛共鸣。一位开发者表示,维护应用已成为“巨大的负担”,每隔几个月就必须更新以符合新政策,包括税务信息、隐私政策和强制性API调整等。另一位从2012年起就开始维护一款应用的开发者,更是发布了108个版本,深感疲惫。
谷歌对新应用使用App Bundles的要求,也引发了开发者的争议。开发者需要将根签名密钥交给谷歌,这存在应用被未经授权修改的风险。尽管谷歌提供了“代码透明性”功能作为缓解措施,但许多开发者仍然对此表示担忧。这种开发环境的摩擦,进一步加剧了商业应用的主导地位,因为只有它们有足够的收入来支撑开发成本。
一位开发者无奈地表示:“开发应用本身并不复杂,但应用商店的官僚作风让人完全失去了继续下去的动力,除非你是一家大公司。”另一位开源SSH文件传输应用的开发者也指出,谷歌的苛刻要求和商业化导向,迫使许多优质免费应用退出了平台。
在安卓应用开发领域,开发者们正面临着前所未有的挑战。从编程语言的选择到官方库的频繁更新,再到UI设计指南的变动和第三方库的维护问题,每一个环节都充满了不确定性。这种不确定性不仅增加了开发成本,也降低了开发者的积极性。
对于许多开发者来说,持续更新应用已成为一种负担。他们不仅要关注技术的最新发展,还要应对应用商店的政策变化。这种压力,让许多开发者开始考虑是否值得继续投入时间和精力在安卓应用开发上。
然而,尽管面临着诸多挑战,仍有许多开发者坚持在安卓应用开发领域耕耘。他们相信,通过不断创新和努力,能够克服这些困难,为用户带来更好的应用体验。
来源:ITBear科技资讯