将用于安卓设备的应用程序制作出来,通过这个来开展开发工作,表面看上去好像全都是无尽的风光,但是实际上背后存在着许多让人心里难过的经历,就算是曾经在谷歌公司工作过的工程师,都没法控制吐槽的冲动,声称这个行业现在真的是越来越难去开展工作了。
开发语言的分裂与挑战
谷歌有力推行Kotlin语言,致使那些一直坚持运用Java的开发者陷入困境,官方UI工具库Jetpack Compose决然无法在Java项目里运用,这给老项目的维护造成极大阻碍,众多依赖库从Java转移到Kotlin时,往往需借助繁琐的变通方式才能顺利使用。
存在特有的Kotlin协程,存在挂起函数,在与Java代码交互之际,频繁出现兼容性方面的问题,开发者无法不长久切换,在两种语言之间持续来回切换,这不但增添了学习成本,还致使开发效率有所减低,如此一种语言分裂的情形,令中小开发者心力交瘁,严重影响了应用迭代速度。
官方库的频繁变更
安卓官方库更新速度,其惊人程度令人咋舌,几乎每次处于升级状态时,都会出现有破坏性变更这类情况发生,拿媒体库以作例子,ExoPlayer在2024年时段升级至v2版本,但没过多久时间,它又被Jetpack Media3给取代掉,像这样一种快速迭代状况,致使开发者不得不持续去重写相关代码 。
库每次更新之情形,皆有引发应用崩溃之可能性,开发者只得投入特别海量之时间去测试且修复,这般频繁之变动,既提升维护成本,又使应用稳定性无法获保障,好多个人开发者径直宣称,如此更新节奏,令其承受不了负担。
系统版本的破坏性更新
安卓系统,每年都会开展大版本更新,这会带来重大的变故变化,这些变动会在很大程度上重大地影响应用的正常运转运行,从Android 10到Android 14,每次实施进行升级,都会于通知权限、存储访问以及后台任务执行开展等方面设定新的约束限制,开发者需要及时调节调整代码来适配新规规则 。
在2023年期间,Android 14针对后台活动实施更为严格的管控措施,致使大量应用需要重新对后台逻辑进行设计,系统级别的变更不但会影响新功能的开发进程,还有着极大的可能性让现有功能失效,进而迫使开发者为开展适配工作投入额外的精力。
设计规范的不断调整
从Material Design设计语言从第二版升级到第三版来讲,有着全面的视觉方面的改变,有着全面的交互层面的改变,然而谷歌所提供的文档多数只是针对Kotlin语言,对于Java开发者而言很难寻觅到清晰的迁移指南,这种差别对待让使用不同技术栈的团队都心生困扰。
设计规范变动频繁,这意味着开发者要频繁做界面布局调整,且要持续不断调整交互逻辑。更让人头疼的是,新规范常与旧版本有显著差异。这致使整个应用视觉风格都得重新设计。如此无疑增添了额外多的工作量。
持续维护的沉重负担
在Google Play商店上架的此类应用呀,不存在能一劳永逸的情况呢,而是得持续开展更新维护工作哟,谷歌提出了相关要求呀,应用的目标API级别方面呢,得保持在距离当前近一年时间范围内的系统版本呀,不然的话就会面临被下架的风险啦,这也就意味着开发者必须不断地去跟进系统更新呢。
需要应对政策变动,涉及税务信息申报,这属于行政事务,还有隐私政策调整 ,亦为行政事务之一,并且API级别升级,属于行政事务类 ,在除技术更新外之时,有一位从2012年起就开始维护应用的开发者透露其已发布了108个版本,其感觉疲惫不堪 。
商业化的必然趋势
谷歌提出一项要求,新应用要按照App Bundles格式发布,这项要求使得开发者需把根签名密钥交给谷歌保管,虽给出代码透明功能作为补偿,可不少开发者仍担心应用会被未经授权修改,这样的安排引发了对应用完整性的广泛担忧。
开发环境存在种种摩擦,商业应用因此逐渐占据主导地位,原因是只有它们有足够收入来支撑持续不断的开发成本,然而免费开源应用以及个人项目愈发容易被放弃,这种趋势正使安卓生态日益趋向商业化,并且显得缺乏多样性。
于安卓应用使用之际,可曾领会,近些年来,优质免费应用已愈发不易见得,欢迎在评论区将你的观测状况予以分享,若认定此文述及开发者内心所想,别忘了点赞予以支持!