前言
自打华为2019年发布鸿蒙操作系统以来,网上各种声音百家争鸣。尤其是2023年发布会公布的鸿蒙4.0宣称不再支持Android,更激烈的讨论随之而来。
本文没有宏大的叙事,只有基于现实的考量。
通过本文,你将了解到:
- HarmonyOS与OpenHarmony区别
- 华为手机的市场占有率
- HarmonyOS的市场占有率
- 移动开发现状
- 鸿蒙开发优劣势
- 到底需不需要入坑?
1. HarmonyOS与OpenHarmony区别
HarmonyOS
移动操作系统历史
当下移动端两大巨无霸操作系统瓜分了绝大部分市场:
iOS是闭源的,只有唯一的一家厂商:Apple。
Google开放了Android基础的能力,这些能力集构成了:Android Open Source Project(简称AOSP),这块是开源免费的,任何人/公司都可以基于此进行二次开发改动。
国内各大手机厂商基于此开发出自己的系统,大浪淘沙,目前主流市场上主要手机厂商及其操作系统如下:
以上系统均衍生自AOSP,在国内使用没什么问题,若要在国外使用则需要使用Google提供的一些基础服务:统称GMS,这是需要授权的。
HarmonyOS历史与现状
华为在2019年发布了HarmonyOS 1.0 ,彼时的该系统主要应用于智慧屏、手表等设备,在2021年发布的HarmonyOS 2.0 全面应用于Android手机。
也就是这个时候华为/荣耀(未分家前)手机设备都搭载了HarmonyOS,而我们知道换了手机系统但手机上的App并没有换,照样能够正常运行。
依照华为的说法,HarmonyOS兼容Android,而部分网友认为该兼容其实就是Android套壳。
这个时候开发者无需关心鸿蒙开发,因为即使开发了Android app也能够在搭载鸿蒙系统的设备上运行。
2023年华为宣布HarmonyOS Next不再支持Android,也就是说想要在HarmonyOS Next上安装Android app是不可能的事了。
那问题就来了,作为一名Android开发者,以前只需要一套代码就可以在华为/小米/荣耀/OPPO/VIVO上运行,现在不行了,需要单独针对搭载了HarmonyOS Next的华为手机开发一个App。
若当前的App是跨端开发,如使用RN、Flutter等,那么HarmonyOS的支持力度更不可知。
OpenHarmony
从上面的描述可知,只有华为一家主推HarmonyOS,相比整个市场还是太单薄,它需要更多的厂商共同使用、共同促进新系统的发展。
因此华为将HarmonyOS的基础能力剥离出来形成了:OpenAtom OpenHarmony(简称:OpenHarmony)。
OpenHarmony是开放原子开源基金会孵化及运营的开源项目。OpenHarmony由华为公司贡献主要代码、由多家单位共建,具备面向全场景、分布式等特点,是一款全领域、新一代、开源开放的智能终端操作系统。
OpenHarmony类似于Android领域的AOSP,而HarmonyOS则是华为基于OpenHarmony开发的商业版OS。
同样的,其它厂商也可以基于OpenHarmony做改动,发布属于自己的鸿蒙商业版。 通常说的鸿蒙生态是指OpenHarmony及其衍生的商业版鸿蒙系统。
2. 华为手机的市场占有率
全球手机出货量
可以看出Android(80%)和iOS(20%)瓜分了天下。
图上没有华为,它被归入了Others里。
再看另一家的统计:
华为占用约为5%。
第三家的统计:
虽然各家统计的数据有差异,但可以看出华为在全球手机市场份额并不高。
国内手机市场占有率
这么看,华为在国内的占有率达到了1/4。
3. HarmonyOS的市场占有率
全球市场系统占有率
手机市场占有率并不代表都搭载了鸿蒙操作系统。
来看看各大操作系统的占有率。
可以看出,Android和iOS设备量很多,遥遥领先。
再细分移动端的市场占有:
同样的Android遥遥领先,此时HarmonyOS占据了3%的份额。
国内鸿蒙市场占有率
国内市场里,HarmonyOS占据高达13%,毕竟国内使用华为(荣耀)手机的存量还是蛮多的。
结论:
国内才是使用鸿蒙系统的大头市场
华为官方宣称的占有率
这里说的设备不止是智能手机,还有平板、座舱、手表等嵌入式设备。
4. 移动开发现状
iOS开发现状
iOS最先火起来的,遥想十年前,随便一个iOS开发者都能找到工作。而现在存留的iOS开发者自嘲:"Dog都不学iOS"。
以前的开发者要么转行,要么继续用"最好"的编译器(xcode)写"最优秀"的语言(OC),当然也可以用Swift,但限于系统要求,SwiftUI也没有大规模普及。
现在很少见有新鲜的血液学习iOS(也有可能iOS装备比较贵吧)了,再加上各种跨平台的框架的投入使用,原生iOS开发者的生存空间越来越小了。
Android开发现状
无独有偶,移动端的难兄难弟怎么会缺少Android呢?
一开始Android使用Java,后面全面拥抱Kotlin。
一开始画画UI,写写逻辑就能找到一份糊口的工作,现在需要去卷各种框架的底层原理,为了KPI需要去研究各种奇淫技巧的性能优化。
跨平台的框架需要去卷,KMP(已稳定)+Compose你学会了吗?RN、Flutter、Uni-app你又懂了多少?
与iOS相比Android可选择的多一些,可以选择车载等其它嵌入式设备,但多不了多少,原生Android开发者的生存空间亦不容乐观。
跨平台的开发框架移动端原生开发者可以学,前端的同学也会过来学,比如RN,Uni-app优势在前端。
行业萎缩,通常不是技术的错,技术一直在,可惜市场需求变少了
5. 鸿蒙开发优劣势
是机会还是坑?
从国内各种新闻来看:
看起来是如火如荼。
从国际的新闻看:
翻看了前几页的新闻,讨论的热度并不高,大多是搬自国内的新闻。
再说说薪资:
一看就是有夸大的成分,可能真有人达到了,但人数可能是万里挑一,只讲个例不讲普遍性没有意义。
某Boss搜一下北京的岗位:
北京的岗位也不多,而且招的都是比较资深的,北京如此,其它城市更不用说。
鸿蒙的基建
鸿蒙目前提供提供了方舟编译器,方舟语言、IDE、模拟器等一站式开发工具,开发者可以照着官方文档编写。
根据实操的结论:
- 各项更新比较快,导致官方的视频/ppt和实际的有些差异
- 模拟器有些卡顿,有点当时Android模拟器刚出来的既视感,真机买不起
- 排坑的文档不多,属于摸着官方教程过河
鸿蒙入门的简易程度
- 基于TS,前端开发方式,语言并不难入手
- IDE和Android Studio同出一源,入手比较快
- 声明式UI,画UI快,没接触过的同学需要熟悉一下(现在无论是Swift还是Kotlin都支持声明式UI,前端老早就用得飞起了)
- 不用再被graddle各种莫名错误折磨了
- 中文文档,对英语不好的同学体验比较好
6. 到底需不需要入坑?
对于任何一个操作系统来说,生态是第一位,鸿蒙也不例外。
横亘于鸿蒙面前的难关:
- 主流App是否愿意适配鸿蒙系统?
- 其它Android厂商是否愿意接入鸿蒙系统?
- 鸿蒙对开发者的支持完善与否?
- 鸿蒙是否真如宣传般的优秀?
不论鸿蒙是否成功,它对开发者最大的意义在于:
开辟了新的领域,开发者有机会吃到可能的"红利"
而是否入坑,取决于个人的考量,以下仅供参考:
- 如果贵司需要适配鸿蒙,那么只能入坑
- 如果对鸿蒙兴趣不足,只是觉得最近的热点有点高,未雨绸缪,想试试水,那么可以照着官方文档试试Demo
- 如果押宝鸿蒙,则需要深入鸿蒙的各项开发,而不仅仅只是流于表面,当然此种方式下需要花费更多的时间、精力、头发去探索、排坑
- 如果认为鸿蒙没有前途,那么也没必要对此冷嘲热讽,静观其变即可
那么,2024年了,你如何选择呢?
为了能让大家更好的学习鸿蒙 (Harmony OS) 开发技术,这边特意整理了《鸿蒙 (Harmony OS)开发学习手册》(共计890页),希望对大家有所帮助:https://qr21.cn/FV7h05
《鸿蒙 (Harmony OS)开发学习手册》
- 应用开发导读(ArkTS)
- 应用开发导读(Java)
HarmonyOS 概念:https://qr21.cn/FV7h05
- 系统定义
- 技术架构
- 技术特性
- 系统安全
如何快速入门:https://qr21.cn/FV7h05
- 基本概念
- 构建第一个ArkTS应用
- 构建第一个JS应用
- ......
开发基础知识:https://qr21.cn/FV7h05
- 应用基础知识
- 配置文件
- 应用数据管理
- 应用安全管理
- 应用隐私保护
- 三方应用调用管控机制
- 资源分类与访问
- 学习ArkTS语言
- ......
基于ArkTS 开发:https://qr21.cn/FV7h05
- Ability开发
- UI开发
- 公共事件与通知
- 窗口管理
- 媒体
- 安全
- 网络与链接
- 电话服务
- 数据管理
- 后台任务(Background Task)管理
- 设备管理
- 设备使用信息统计
- DFX
- 国际化开发
- 折叠屏系列
- ......