Android随想与现状

554 阅读6分钟

最近工作饱和度太低 闲来无事 对于行业的一些思考 就当和大家聊聊天

印象里Andriod手机大概在2011-2013年普及到大众手里的 那时候大家用的都还是塞班或MTK平台的手机 到大学后第一款手机是索尼的LT26I 再紧接着索尼Z3 三星s8 在到后来苹果的6s、8p、12 这些年移动操作平台发展的非常快 硬件性能发生翻天覆地的变化 元神 战双这种快接近pc端的游戏已经可以很流畅的跑在手机上 Android从2008年第一款手机发到市场到如今 孵化出了很多"优秀"的国产厂商 国产机的内存已经飙到了恐怖的十几G 硬件堆集量已经快接近一个微型电脑了 10年前不敢想象的 当然硬件厂商可能早都想到了 发热和续航问题一直是手机两个致命问题

记得大学的时候就开始搞刷机了 解锁、重刷recovery、固件、内核、root、Xposed插件(据说小米的团队还抄袭了一部分代码?rovo89是真的牛批 我怀疑这是一个团队 绝对不是一个人能做出来的东西)、绿色守护、黑域 精简系统 这一切的一切 都是为了解决安卓一直以来的痛点 就是卡顿和性能问题 相信折腾过安卓的都了解这些 甚至还有后来的抢红包插件 多开黑科技都是怎么实现的

直到后来做开发了 才知道这个系统是个什么玩意儿 里面有了多少早期设计的缺陷 当年玩root是多危险的一件事 也感叹Android四层架构的设计思想 了解到早期的2.3 3.0 5.0 这几个重大更新 从早期的JIT 到后面的ART ART已经很好的处理了性能问题 结果又折腾成了混合AOT 简直是开倒车
事实上如今的安卓这些问题仍没有解决 只是被极限的硬件性能掩盖住了 不信你把开发者选项打开 看看后台服务里跑了多少东西 再加上国内系统碎片化 无法高度统一 每个应用都跑在虚拟机上 从内存管理和底层设计来讲 安卓性能是永远无法优于ios的 只能靠叠硬件来拉平 这也是我改用苹果的原因

经历了大大小小项目的屎坑 见过很多新手写的毫无可读性和扩展性的代码 不忍直视 惨不忍睹 也见过很大佬设计的项目架构 轻易的就能hold住业务高速迭代 其实安卓页面framework的api是基于java GUI开发模型那套参考来的 早期安卓的很多大佬都是从java和pc开发转过来的

马上都到2022年了 安卓的生态并没有变好 甚至逐渐有点割裂 至少在我看来 从一开始推出kotlin 同一个逻辑 不同的人能用各种语法糖写出花来 个人认为kotlin只是一个工具 对于一部分学习效率高的开发来说 确实会提升部分效率 但并没有解决客户端开发的真正痛点 痛点是大部分时间用在画页面上和应付后端 谷歌甚至允许一个项目可以java和kotlin互调 一个项目经过不同的人接手后 就彻底成一个缝合怪了 代码可读性还不如java 简直是开倒车

谷歌一方面推jetpackCompose干掉原有的View体系 View体系确实有点臃肿 有太多的脏渲染 没办法 这都是历史遗留问题

又搞flutter要统一跨平台的UI 之前写过flutter的一个项目 刚好是从外包接手过来的 给我一种什么感觉呢 就跟回到Andriod大概15 16年的那个时候 你懂吧 flutter其实是一个很薄的中间层 除了画UI 几乎干不了其他任何事情 任何一个多余的操作都要依赖三方插件 但是插件内部实现最终还是回归到native层 以上这些改变 本质上讲并不是新东西 而是重新搞了一套 让大家把几年前的路重新走一遍

谷歌的这几个操作说明什么 相信有数的开发在做技术选型的时候一定要保守些 自己开项目玩玩可以 慎重用于商业项目 不要当小白鼠 大家来来回回都在这个圈子里打转 相信很多开发都意识到了 大家一直在重复几个同样的事情

原生开发的体系直到今天并没有一个类似后端spring这么成熟完善的一套体系 从早期的MVC 再到后来的 MVP 再到现在的jetpack mvvm retrofit rxjava(协程、livedata、flow)各种依赖注入(你真的需要依赖注入吗?)、 插件化 模块化(有很多人纯粹是为了模块化而模块化) 为基础的封装架构
有的人开发了很多年 连java的高级特性都玩不透 只知道一味的学这些花里胡哨的框架 这些学习思路是搞反了 当然如果是为了找工作 背这些八股文 也是很容易穿帮的

现在行业的Android开发 大抵在一下各种领域: 普通小磨坊开发 这种公司你大概率是遇不到好项目的 多半都是一堆历史遗留问题的缝合怪 有极小概率遇到大佬和好项目 遇到的同事领导大概率是老混子 能混一天是一天 至少做安卓来说 是没什么出头之日的 安卓在这些公司话语权等于0 这种情况的同学 建议还是朝大前端方向走 flutter写起来 vue学起来 没多难 一个月的事 不至于以后不好找工作 如果运气好遇到靠谱的团队 一起接私活也是极好的 但目前安卓接私活并不友好 尽量还是走h5还是后端 或者写flutter

稳定的外包 不稳定的外包 framework外包 外包 外包...在这些公司其实还是能学到一些东西的 目前国内的手机存量市场已经饱和了 但是各大厂商的系统应用 始终是需要大量开发去维护的 据我了解 很多外包已经找不到像样的安卓了 甚至让后台学习安卓 在这些公司的开发 希望你运气好在一个稳定的项目组 祝你干到退休

大型厂商应用的开发(当然这些公司面向社招的要求是非常离谱的 有种飞机大炮打蚊子的感觉) 互联网的市场也趋于饱和了 这个梯队的开发有一部分最终会流向外部小厂来和普通开发卷的 应该是目前最卷的一批人 以后都是当领导

SDK技术方案公司 这些开发基本都岁月静好 大隐隐于市

综上所述 安卓未来会更加分化割裂

对于毕业入行的人来说 android领域建议就不要进了 赶紧左转服务器吧