前言
最近招聘网站爆出了美团、大众点评等公司鸿蒙开发的岗位需求,引发了各个 Android 开发群的热烈讨论,是立刻开卷?还是先把嘲讽技能拉满?今天我也来谈谈我的一些思考。
卡脖子的问题与资本的力量
之所以会存在单独的鸿蒙开发岗位,主要是因为鸿蒙声称下一代鸿蒙手机系统是完全的移除了 Android AOSP 的代码,和 Android 完完全全的分离。
在 Android 与 iOS 市场生态都已经非常成熟的时候,来重新开始构建一个生态系统,并且不是从零到一在新的领域建立生态,而是在过度成熟的领域中去重新建立生态。这背后一个主要的原因就是卡脖子问题了,开放已经走到尽头,国内想要尝试去缔造完完全全掌控在自己手中的生态了。
那 Android 本身是开源的,为什么也要抛弃呢?
卡脖子的重头从来不是软件,而是硬件,而软件必须要很好的适配硬件才能发挥其最大的作用,你看苹果封闭的生态,软硬件配合是相当高效的,而 Android 则加了硬件抽象层以供各方适配自己的硬件,我估计鸿蒙想要更适合其硬件,所以至少要干掉 Android 的硬件抽象层。
需要从零到一去将成熟的生态复制到鸿蒙上,这的的确确是一个大工程,而且现在可能的更多的不是技术的问题,更多的是工作量的问题,所以要想促成这个事情,必定伴随着大量资金的入驻,如果鸿蒙开发比 Android 开发髙一倍的工资,你会不心动?
所以这有定向的资金扶持,如果小公司都开始去适配鸿蒙,那一定是银行贷款在这方面更容易。而且资金扶持的不仅仅是鸿蒙,应该是对华为、小米、VIVO 等厂商开启了赛马机制,先有一小部分扶持资金给到大家,等到谁能够脱颖而出,那就能够得到更大的扶持资金。
所以华为、小米、VIVO 在很相近的时间争先恐后的发布鸿蒙 Next、澎湃 OS、Blue 系统。对于大家而言,就是听了一个发布会,但没有一个能够现在就能体验的,也就是各自讲了一个故事。但对公司而言,重要的应该是对上层做一次阶段性汇报,希望能够争取到更多资金的入驻。
目前备受争议的是,已经有苹果和安卓两个非常成熟的生态了,鸿蒙生态总不能是一蹴而就,总有那么些 App 不会第一时间就来适配鸿蒙,那就无法满足用户的需求,凭什么让用户来使用鸿蒙?
这个肯定大佬们也是有考量的,要么就是有非常足够的定向资金给到各大企业和开发者,发挥资本的超能力,要么就是让用国产手机成为一件正确的事情,从公务员做起,dddd。所以在中国,虽然有点难,但也不是一件不可能的事情。
跨平台
企业总是会想方设法缩减成本,所以近些年跨平台一直是一个很热门的话题,如果你做的东西不是跨平台的,那么就会被 diss。例如 Compose 在国外应用已经非常广泛,但在国内因为没有跨平台的成熟支持,就不会是个主流选择。
据官方说,ArkUI是支持跨平台的,所以官方的目标是,你只需要写 ArkUI,就能够适配各端的平台了。理想是美好,但现实如何就不好说了,cocos creator 在 ios 上的性能就是明显不如 Android,而且发热严重,TS 编程语言的的确确可以拉拢一波前端开发者,但它是一个彻头彻尾的黑盒了,除了那少得可怜的官方文档,就没有任何机会了解底层的具体实现,那遇到点问题,就完全不知道怎么解决了。
像 ReactNative、Flutter 都是开源的存在,所以遇到问题,可以深入去探索原因,想方设法制定解决方案。苹果虽然闭源,但它的设计是引领潮流的,不太需要自定义,那么问题来了,鸿蒙是抄袭苹果的设计风格呢?还是给开发者添加痛苦呢?
而最痛苦的莫过于已经选择了跨平台方案的团队,ReactNative、Flutter、KMP 都是国外团队主导,他们并不会主动来适配你的鸿蒙系统。所服务器托管网以大概率国内得单独拉分支来适配鸿蒙,这个华为可以做,但华为应该是想让你用它的 ArkUI,所以他没有理由做。
而腾讯阿里系,基本上又是各个团队独立造轮子,造出来的都是仅仅只适合自己团队业务的轮子,没法造福大伙,公司也没有这个基因。所以如果能够造成这个轮子,那么一定是字节系,他们已经培养出了制造 SDK, 各个业务线都使用这个SDK,再反逼 SDK 团队不断优化的这个模式。
所以我觉得将来要想享受到支持鸿蒙的跨平台框架,关键还得是华为提供底层支持,字节大佬来完成上层支持,但也得字节愿意开源出来。所以曾经的跨平台技术对于小团队而言可能就是鸡肋了,自己改造框架不现实,用 ArkUI 重写又要投入人力而且废掉前面的努力。
有传言头部的 App 都适配好了鸿蒙,但从来没有开发来讲述下适配的问题,开发者什么时候这么沉默了?头部的 App 都是人换了一波又一波,坑叠加了一层又一层,好像适配毫无难度似的,这些 App 竟然有人能够梳理清全部的业务逻辑?开发挖坑的能力竟然这么弱?
最后
鸿蒙到底会发展到哪一步,最终还是得看会注入多少资本以及上层的态度有多坚决,这个时候,仅靠华为文档投入其中,那大概就是充当一个痛苦的适配踩坑先锋大头兵,也许能乘风得到来自资本的丰厚打赏。也许你可以深入其中,在跨平台方向取得一丝成果。
与其是担心以后不确定的危机,还不如把时间放在提升自身实力上,毕竟有了技术实力的支持,不管以后环境多么恶劣,你还是能够站稳脚跟。
从事Android行业也有8年了,几乎是一步一个坑踩过来的,做为一名Android人我想分享一下这些年来,我对于技术一些归纳和总结,希望能帮助到有心在技术这条道路上一路走到底的朋友!
有需要的小伙伴,可以点击下方课程链接详细了解!!!
https://edu.51cto.com/course/32703.html
首先是最科学最系统的学习路线,大家跟着这个大的方向可以查漏补缺,有针对性的系统提升。
接下来就是需要梳理知识,提升储备了!
- 架构师筑基必备技能:深入Java泛型+注解深入浅出+并发编程+数据传输与序列化+Java虚拟机原理+反射与类加载+动态代理+高效IO
- Android高级UI与FrameWork源码:高级UI晋升+Framework内核解析+Android组件内核+数据持久化
- 360全方面性能调优:设计思想与代码质量优服务器托管网化+程序性能优化+开发效率优化
- 解读开源框架设计思想:热修复设计+插件化框架解读+组件化框架设计+图片加载框架+网络访问框架设计+RXJava响应式编程框架设计+IOC架构设计+Android架构组件Jetpack
- NDK模块开发:NDK基础知识体系+底层图片处理+音视频开发
- 微信小程序:小程序介绍+UI开发+API操作+微信对接
- Flutter:Flutter入门+Flutter进阶
- Kotlin: Kotlin入门教程 +Kotlin 实战避坑指南 +项目实战《Kotlin Jetpack 实战》
知识梳理完之后,就需要进行查漏补缺,所以针对这些知识点,我手头上也准备了不少的电子书和笔记,这些笔记将各个知识点进行了完美的总结。
然后再是通过源码来系统性地学习
只要是程序员,不管是Java还是Android,如果不去阅读源码,只看API文档,那就只是停留于皮毛,这对我们知识体系的建立和完备以及实战技术的提升都是不利的。
真正最能锻炼能力的便是直接去阅读源码,不仅限于阅读各大系统源码,还包括各种优秀的开源库。
刷大厂面试题备战,增加大厂通过率
历时半年,整理了这份市面上最全面的安卓面试题解析大全。
可以通过目录索引直接翻看需要的知识点,查漏补缺。
有需要的小伙伴,可以点击下方课程链接详细了解!!!
https://edu.51cto.com/course/32703.html
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net
机房租用,北京机房租用,IDC机房托管, http://www.fwqtg.net