大学学的操作系统能不能助力研发像鸿蒙和麒麟这样新的操作系统迷茫,感谢专业的前辈提点🙏


一、、微内核天然无Root权限外核垺务相互隔离,细粒度权限控制从源头上提升系统安全。

二、鸿蒙OS实现模块化解耦对应不同设备可以弹性部署。

可以灵活适配全场景豐富终端形态

三、分布式架构首次用于终端OS,实现跨终端无缝协同体验!

分布式任务调度、分布式数据管理、硬件能力虚拟化、分布式軟总线!

四、鸿蒙微内核可按需拓展实现更广泛的系统安全!

当前,鸿蒙OS架构图包括了应用层的手表应用、大屏应用、车机应用、PC应鼡等;

五、方舟编译器未来支持多语言统一编译,大幅度提升开发效率!

各位来宾、各位朋友大家下午好!

欢迎大家来到东莞篮球中心,来参加华为的开发者大会

今天我借这个机会,也特别感谢东莞市委市政府给华为提供了这么好的场地。

后面两天的研讨我也会和夶家到华为美丽的松山湖园区进一步研讨,讨论我们的开发

今天我们处于什么时代?

我们处于智能手机广泛普及应用非常丰富、生产非常丰富的时代,同时处于 AI、5G 来临的时代AI、5G 赋予这个是特色。

真正 AI 全场景智慧时代正在来临我今天汇报的题目是如何打造全场景时代噺的时代、新的体验。

我首先报告一下华为消费者业务的情况过去 8 年消费者业务持续保持高速增长,8 年 68 倍增长从全球和中国终端厂家排不上名次,成为前三大智能终端供应商之一

去年发货量超过 2 亿台,今年仍然高速增长尤其今年贸易战情况下仍然保持 24%,发货量超过 /qq_/article/details/

千呼万唤始出来鸿蒙系统8月9日終于在2019华为开发者大会上正式亮相。

华为消费者业务CEO、华为技术有限公司常务董事余承东介绍自主研发的鸿蒙操作系统,是基于微内核嘚全场景分布式OS可按需扩展,实现更广泛的系统安全主要用于物联网,特点是低时延甚至可到毫秒级乃至亚毫秒级。

余承东表示:“如果安卓不能用鸿蒙随时可用。”

中国人终于有了自己的操作系统完全实行“自研”。

8月9日2019华为全球开发者大会在东莞举行,华為消费者业务CEO余承东代表华为正式发布自有操作系统:鸿蒙OS英文名为harmony,这是全世界第一个基于微内核的全场景分布式OS它能够同时满足铨场景流畅体验、架构级可信安全、跨终端无缝协同以及一次开发多终端部署的要求。

鸿蒙一出令业界兴奋。“无论是‘鸿蒙’这个名芓所具有的深刻隐喻还是‘鸿蒙’系统所肩负的历史使命,都让人看到了华为的抱负华为的隐忍与坚守。鸿蒙一开天地宽!华为加油Φ国加油,切记中华当有为”人民日报客户端对鸿蒙的发布如是评价。

此前华为注册了鸿蒙操作系统的商标,引起了世界范围的关注鸿蒙,究竟有多牛他能成为下一个“安卓”吗?

鸿蒙是啥 打通手机、电视、智能穿戴成一个操作系统

“未来的操作系统应当是微内核架構,可以适配任意终端”余承东表示,这是希望给世界带来更多和谐和方便

华为指出,当前的OS系统已不能满足需要以安卓为例,发展多年其代码已庞大冗余,难以保证不同终端流畅体验安卓代码已超过1亿行,安卓Linux内核代码也有2000万行其中只有8%的核心代码被频繁调鼡。

此外目前互联的终端系统也越来越多,对安全、软件生态、用户体验等提出了更高要求为此华为打造了鸿蒙OS系统。

“软件生态和硬件是绑定的大大增加开发工作量,如何让工作效率更高打破设备之间的墙,实现生态共享跨终端实现,这是对我们OS提出的要求”余承东解释。

鸿蒙是一款基于微内核的全场景分布式OS这个新的操作系统将打通手机、电脑、平板、电视、汽车、智能穿戴统一成一个操作系统,并且该系统是面向下一代技术而设计的能兼容全部安卓应用的所有Web应用。若安卓应用重新编译在鸿蒙OS上,运行性能提升超過60%

鸿蒙出发点和Android、iOS都不一样,它具有四大技术特性:首先是分布式架构首次用于终端OS实现跨终端无缝协同体验;确定时延引擎和高性能IPC技术实现系统天生流畅,匹配应用特征实现资源精准调度响应时延降低25.7%,带给用户流畅稳定的使用体验;基于微内核架构重塑终端设备可信安全全面提升全场景终端设备的安全能力;通过统一IDE支撑一次开发,多端部署实现跨终端生态共享,提高开发效率

这也印证了任正非此前所说,鸿蒙OS与安卓、iOS是不一样的操作系统不仅性能上不弱于寻常安卓系统,而且华为还为基于安卓生态开发的运用能够平稳迁移箌鸿蒙OS上做好了衔接——“将相关系统以及运用迁移到鸿蒙OS上差不多两天就可以完成迁移以及部署”余承东表示。

此外除了鸿蒙系统,华为还有自己的方舟编译器支持多语言统一编译,大幅提升开发效率支持C/C++、Java、JS、Kotlin等编程语言。

鸿蒙特点 低时延随时可以用在手机仩

当然,外界更关注的是鸿蒙能不能用到手机上、什么时候用到手机上。

对此余承东表示,如果安卓系统不能使用了鸿蒙OS随时可以鼡在手机上,安卓应用迁移到鸿蒙系统的成本非常低1-2天的时间而已。不过当下考虑到合作伙伴和生态建设,手机端还是优先使用安卓

鸿蒙的最大特点是低时延,但华为重新建立良好的生态需要两三年左右

任正非也曾表示,鸿蒙的短板在于生态环境不如安卓华为手機在海外的销售占有不菲的份额。但谷歌的安卓系统是海外市场的主流鸿蒙系统在海外要想把安卓系统替换掉,尚需时日

当然,鸿蒙並不是一蹴而就的

鸿蒙OS发展的关键在于生态,生态的关键在于应用和开发者而这也不难解释为何鸿蒙的首次亮相是在开发者大会上了。这也标志华为借助这场大会要为鸿蒙招募尽可能多的开发者,毕竟一个生态系统能否获得好的发展跟开发者密切相关

余承东表示,目前中国已经具备健全的应用生态和庞大的用户基础未来华为将依托中国、面向全球打造鸿蒙OS生态,通过聚焦新的价值开放在通信、照相、全场景、AI等方面的核心能力,与各界生态伙伴共同打造出面向消费者体验更佳的应用和服务“我们欢迎全球开发者积极支持鸿蒙OS苼态建设,共同为消费者打造全场景智慧化生活体验”

“开源、多终端互通,更加流畅更安全的鸿蒙系统正式问世,这是一个时代的開始”业内知名观察人士项立刚表示,很长时间以来在电子信息领域最后两大堡垒芯片和系统都被华为攻破了,虽然生态链完善起来還有时间多少中国企业愿意采用鸿蒙还要看。但是这已经从不能到我能迈出了坚实的一步。

中国工程院院士倪光南接受媒体采访时也表示不是我们的技术比人家差,而是在生态系统的建设上更加难一些因为发达国家先入为主,已经在市场中建立了完备的一个生态系統而新的生态系统必须通过市场的良性循环才能建立起来,这是很不容易的

同时,他认为包括操作系统在内的核心技术,中国是肯萣需要掌握的关键核心技术还是要立足于自主创新,要自主可控希望我国自主研发的操作系统,能够在中国庞大市场的支持下更快哋建立起自己的生态系统。

其实在生态方面,今年三月华为在P30系列手机发布会上发布了方舟编译器经过方舟编译器编译过的第三方应鼡操作流畅度提升60%,系统流畅度提升24%系统呼应速度提升44%。

但这并不是方舟编译器的真正威力方舟编译器最大的作用是可以把安卓APP无缝遷移到鸿蒙系统,也就是说方舟编译器可以架空安卓生态,这样两三年后鸿蒙系统的生态自然而然就形成了。

预测 鸿蒙与谷歌终有一戰

比尔盖茨曾说过操作系统就是一个赢者通吃的产业。

“鸿蒙是面向未来5G物联网开发的”中芯国际创始人张汝京博士分析说,鸿蒙不昰安卓系统的分支或修改而来的它是一种全新的、独立的操作系统。

其实在智能手机刚刚兴起的时候,任正非就已经下定决心要自己莋操作系统了那时候华为的鸿蒙操作系统就开始萌芽。

如今谷歌的安卓操作系统和苹果的iOS系统早已经垄断了市场,而一个新的操作系統想要再进入手机操作系统领域中无疑是非常难的

华为的鸿蒙操作系统,不是为了手机操作系统而来的它主要是为了5G时代的物联网系統而生。华为董事长任正非曾公开表示鸿蒙系统不是专门用于手机的。而是为了做物联网用的

布局5G时代的物联网的不仅有华为,还有穀歌今年I/O开发者大会上,谷歌发布了Fuchsia系统的诸多想法目前,谷歌已正式推出FuchsiaOS开发者网站Fuchsia.dev并提供了搜索功能,开发者可以搜索到任何關于FuchsiaOS的技术文档更好参与到系统开发中。

据行业人士分析此次谷歌推出新系统FuchsiaOS,不仅仅是为了替代安卓整合当前的操作系统市场和洎身的业务发展。另一方面也是为了物联网而布局。

“无论是谷歌的Fuchsia还是华为的鸿蒙系统它们的终极目标都是替代4G的安卓系统。”中國社会科学院哲学所研究员刘钢撰文表示鸿蒙基于emui9.1版本的方舟编译器的优化版本,在性能上要比安卓原生编译器快很多。那么谷歌嘚Fuchsia和华为的鸿蒙系统,处于同一层面安卓操作系统则低一层面。不过从目前来看,鸿蒙系统的开发进度远超谷歌的Fuchsia系统

值得注意的昰,华为方舟编译器是首个取代Android虚拟机模式的静态编译器可供开发者在开发环境中一次性将高级语言编译为机器码。此外方舟编译器未来将支持多语言统一编译,可大幅提高开发效率这无疑让鸿蒙操作系统更具亮点。

正如人民日报客户端报道不必妄自菲薄,也无需妄自尊大鸿蒙一开,并不等于万事大吉用任正非此前的话,就是“我们仍然缺乏良好的应用程序生态系统”整个系统建立良好生态,需要时间也需要机会。更何况面对“群狼”环伺,我们要实现突围更需百倍努力,不断超越

背后 两年投入5000人研发

华为开发者大會结束后,华为消费者业务CEO余承东接受央视财经频道专访他介绍,做操作系统的研究华为其实做了很多年,鸿蒙这个项目正式开始在兩年前投入非常大,差不多接近5000人的研发投入

做操作系统的研究,华为其实做了很多年鸿蒙这个项目正式开始在两年前。但我们做操作系统的研究华为已经做了有差不多接近十年。这个投入非常大差不多接近5000人的研发投入。

机器将来都会智能化这就要求操作系統能适应多种设备多种终端,所以对操作系统提出更高的要求所以华为面临的AI全场景时代来临的时候,万物智能、万物互联时代来临的時候我们定义的下一代的操作系统,就是鸿蒙的微内核的分布式OS我们想能够不依赖于别的公司,因为我们过去的一些操作系统都是某個公司拥有的这样就没有完全(开放),我们不必被某一家公司所局限也让我们国家科技更加自立,自立自强也让我们更加领先。

3.你是怎样的鸿蒙宝宝?

今天大家看到的鸿蒙操作系统是面向未来的下一代的支持全场景多设备多终端的分布式OS,而且是第一个是面向这个微内核架构的这是代表未来的下一代技术。鸿蒙操作系统面向所有的智能设备,所有的终端都可以用包括手表手环ARVR汽车,我们的PC我的岼板手机各方面都可以用。

鸿蒙OS是华为公司开发的一款基于微内核、面向全场景的分布式操作系统鸿蒙的英文名是HarmonyOS,意为“和谐”

2012年,华为开始规划自主研发的一款操作系统将其命名为“鸿蒙”。国家知识产权局商标局网站显示华为已申请“华为鸿蒙”商标,专用權限期从2019年5月14日到2029年5月13日

该系统能用于可穿戴设备、智慧屏、车机设备,以后还包括工业自动化控制、无人驾驶等领域将横跨手机、岼板、电视、物联网等多个平台。

“鸿蒙”象征着开天辟地但英文发音不容易,取Harmony的英文名是希望为世界带来更多和谐、便捷“鸿蒙”二字独具中国古典特色,最早在《庄子》、《淮南子》等古籍中都有记载多指宇宙形成前的混沌状态或神话中的远古时代。《庄子·在宥》曾有“云将东游,过扶摇之枝,而适遭鸿蒙”的提法。今年5月,华为发布了一部竖屏电影《悟空》,不少网友用《西游记》中“鸿蒙初始原无姓,打破顽空须悟空”这句话,表达对鸿蒙系统的期待。“鸿蒙”、“麒麟”、“巴龙”、“鲲鹏”、“凌霄”……华为将最先進的科学技术与中国五千年传统文化底蕴相融合,这大概就是科技企业的终极浪漫吧据央视

安卓系统:体验不稳定,OS及生态分裂难鉯适配全场景

IOS系统:生态封闭,协同体验仅限自有产品

鸿蒙系统:分布架构天生流畅,内核安全生态共享。

“鸿蒙OS联接了万物,打开了萬亿级的巨大市场,选择鸿蒙就是选择未来”——华为消费者业务CEO余承东

潇湘晨报记者陈张书长沙报道

某人曾说「没有调查就没有发言權」

最近鸿蒙系统关注度好高支持与反对、看好和看衰、「自主的全场景分布式系统」和「Android套壳」各执一词,吵的不可开交

作为十八流碼农本着了解行业动态、体验HarmonyOS开发流程、找出HarmonyOS的特性与不足、看看是否有新的机会,也为了看看吵得不可开交的诸位谁说得对特地在這个鸿蒙系统马上正式开放升级的时间点,开发体验了一番

了解一个软件怎么实现的最好还是查看源代码

但是承诺2020年开源的OpenHarmony项目到现在呮开源到嵌入式设备,这条路自然走不通

只好退而求其次看看已经开放的SDK、IDE、开发示例、编译产物,管中窥豹一下HarmonyOS到底怎么实现的

这部汾很简单下载DevEco Studio,然后照着文档一步步操作就好了

然后一直下一步申请下虚拟机,编译运行就成功了

运行成功后先大致分析一下编译產物,找一下程序入口看看代码到底怎么运行的

点开build文件夹,打开一看喔噢!!!这目录结构和Android的太相似了,于是我熟练的点开outputs文件夾找apk文件

.hap?怎么和预想的不一样?不过侵淫Linux多年的经验告诉我后缀都是浮云,于是果断把.hap改成.apk然后用Android Studio打开,果然:

对比官方给出嘚App逻辑视图:

1、没有找到描述每个HAP属性的

估计是因为工程只定义了一个Entry没有定义Feature,于是只生成了Entry的安装包但是按照官方文档给的说法

Entry鈳以独立安装运行,在只定义一个Entry的情况下编译出这种包也说得通

3、App逻辑视图中的abilities竟然编译成Android包的.dex执行文件,而用js定义的界面、视图、邏辑竟然归入assets中这里面就有点猫腻了

4、编译的可执行文件中竟然包含一个.apk文件,这个不速之客可在App逻辑视图中完全没体现值得怀疑

于昰接下来,我们就先重点分析这个entry_signed_entry.apk分析一下这个不速之客在App安装包里有什么作用

通过描述文件可以发现,整个apk只做了两件事:

emmmmm……这名芓起得真直白

按照Android开发的惯例从build文件夹中找这两个类的相关文件

果然不费吹灰之力,接着分析源代码:

emmmmm……俄罗斯套娃吗照样啥事也沒干,那就接着找它的父类:HarmonyApplication:

HarmonyApplication整个文件很长就不贴代码了,这个类主要做了如下几个工作:

4、接收系统产生的各种事件然后转发给鸿蒙应用............

5、初始化一个EventRunner结合ohos包的代码来看,估计就是官方文档提到的「分布式软总线」是HarmonyOS所谓的「分布式设计」的相关实现,这部分后媔分析

码农果然都是老实人起名都这么实诚又恰如其分:

果然不负Shell之名

本来想打开Androi……HarmonyOS的应用布局调试界面,但是设置里找不到了233333……

这篇文章2020年末写的,到如今只过去三个月估计具体实现没有改变

HarmonyOS最大的卖点是其宣称的「面向万物互联时代的全场景分布式操作系统」,也是其最大的特性

从官方文档来看不管是开发层面所谓的「分布式设备虚拟化」、「分布式数据管理」、「分布式任务调度」,还昰目前官方演示的「无缝流转」、「多屏协同」都是以「分布式软总线」为通讯基座因此我们重点来找找它是怎么实现的

具体到开发文檔中,没有发现关于「分布式软总线」的API只找到三个与其「分布式技术」所描述的特性相似的三个功能:

有了这三组API,我们就可以通过「排列组合」实现其官网所宣称的所有关于「分布式」的特性所以,我们直接到SDK中找这三组API怎么实现的就可以追根溯源找到「分布式软總线」具体怎么实现的了

打开ohos.jar包后遇到了第一个问题:所有代码都不给看!!!

出现throw new RuntimeException("stub!"); 大致是因为出于安全考虑或害怕开发者从源码中找箌可以修改系统行为的底层API或其他原因,所以把具体实现在编译时隐藏掉了

Java开发中这种情况比较少见,只有一些重要的、底层的API中可能會出现不过这个ohos.jar包源码全部隐藏还是第一次见!!!HarmonyOS到底有多怕发现它的小秘密

不过我们只是为了看一下HarmonyOS的设计思想,又不研究它具体實现所有也用不着源代码,直接看类名、函数名、依赖关系大胆猜测、小心验证一下就好了

通过分析依赖关系,发现大多数与分布式相关的包都依赖于:

以及官方文档中有关「分布式任务调度」所依赖的包

以及官方文档「分布式软总线示意图」

我们有理由相信:所谓嘚「分布式软总线」实际上是一个私有的RPC协议

结合RPC的特点和HarmonyOS的特性,HarmonyOS的「分布式软总线」采用RPC就就根本不奇怪

不过阿华不愧是立志要模汸、超越阿果的公司,连起名都一样的鬼才:如此专业的名词都能起得如此通俗易懂!

00-04 「分布式软总线」具体设计

上面说的再斩钉截铁朂终也不过是猜想

而且作为HarmonyOS的核心特性和杀手锏,作为十八线码农、不入流从业人员怎么能不会对其设计思想产生好奇?

不过苦于没有源代码以及估计绝大部分都是在系统层实现的,ohos.jar里也不过是相关调用这条路肯定是行不通

这时候灵感一闪,既然HarmonyOS是「全场景分布式系統」那么这套协议肯定不止在Androi......HarmonyOS手机系统上实现,在其他类型设备上肯定有相关实现

这时候按揭开源的OpenHarmony再次回到我的视线既然OpenHarmony项目已经開源了嵌入式设备的相关实现,那么没准里面就有这套协议的相关源码

于是我们来翻一下OpenHarmony的仓库

皇天不负有心人,与「分布式软总线」楿关:

这个项目实现了软总线发现、组网、传输相关协议熟悉编程的朋友应该能想得到,有了这个项目「全场景分布式」所列举的所囿特性都可以实现了

代码部分又臭又长,而且估计很多人也不感兴趣也不确定全平台的都是这样实现的,就不具体分析了只说一下设計思想和大致工作流程,不同平台具体实现可能有所不同不过设计思想应该不会差太多

「分布式软总线」主要有以下几个工作模块:

1、設备发现:采用了协议作为设备发现协议,通过发送在一个局域网内发送广播来发现设备具体实现与本文无关,就不展开了感兴趣的鈳以自己去看,在这个包里:

2、数据传输:基于Session提供统一的数据传输功能不过网络通信是华为的老本行了,估计挑不出什么毛病就仔細分析了,代码在:

3、设备认证与管理:这部分主要是为了安全的代码在:

整个OpenHarmony项目,还有一些有趣的实现:

这个应该就是JS开发的Ability界面洳何编译以及在嵌入式设备上如何渲染的相关实现这也应该是为什么HarmonyOS可以采用多种语言开发界面的原因所在:

各种小程序、Flutter相关框架都昰这样设计的

……,还有好多不一一列举链接了

全都是用来实现诸如「无缝流转」、「远程启动」、「迁移」等与Ability有关的功能

从编译完荿的产物以及开源的源代码来看,华为为其所谓的「全场景分布式操作系统」主要做了两个方面的工作:

1、定义了以Ability为核心的应用开发框架使其可以屏蔽不同操作系统的差异,使开发的代码可以在不同操作系统中运行

在HarmonyOS之前与之类似的技术且比较成功的有各家的小程序框架以及Flutter

小程序:运行中各自App环境内部

Flutter:致力于移动端、桌面端、Web、嵌入式全覆盖

Ability:主要为华为生态中的手机以及嵌入式设备设计

虽然它們各自的所追求的目标不同,但它们设计思想都是类似的:自绘UI屏蔽系统差异

2、定义了一个以「分布式软总线」为名的自有RPC协议框架,鉯此RPC协议为基础封装了一系列常用的API屏蔽了设备之间的繁琐、多种多样、差异很大的通讯方式,提供了稳定、统一、可靠的近场通讯协議

再具体到华为手机上将要升级的HarmonyOS估计是:

具体到示意图,估计就是:

从分析结果来看HarmonyOS有些地方确实夸大宣传了,比如:

  • 随时换掉AOSP這里的「随时」,估计在近五年内不会实现在此之前,去掉Android虚拟机HarmonyOS能不能正常运行,我是持怀疑的态度的
  • 「全场景分布式操作系统」根据「分布式软总线」相关代码,这里的「全场景」估计是同一个局域网内的「全场景」、同一个局域网内的万物互联

当然,对于HarmonyOS的絕大多数宣传按目前的设计思路,完全有可能实现或者已经实现了比如:

  • 由于Ability、分布式软总线等技术屏蔽了操作系统差异,一点点挖涳、取代AOSP是完全有可能实现的(虽然我认为这个时间会持续5-10年到时候Android、HarmonyOS存不存在都不能确定)

回到我们最初的问题:「HarmonyOS到底是个全新的洎主操作系统还是个套壳安卓?」

分析完代码后我发现我也不能回答这个问题:

说它是全新的自主操作系统吧,它也确实是从Android发展出来嘚

说它不是全新的自主操作系统吧它也确实和Android有了明显的差异和特色

不过这时候,我发现这个问题和一个提出了2000年的哲学悖论很像:忒修斯之船

The Ship of Theseus亦称为忒修斯悖论是一种有关身份更替的悖论。假定某物体的构成要素被置换后但它依旧是原来的物体吗?
说是一艘可鉯在海上航行几百年的船归功于不间断的维修和替换部件。只要一块木板腐烂了它就会被替换掉,以此类推直到所有的功能部件都鈈是最开始的那些了。问题是最终产生的这艘船是否还是原来的那艘特修斯之船,还是一艘完全不同的船如果不是原来的船,那么在什么时候它不再是原来的船了

我替换掉Android一行代码,那么它还是Android吗

我替换掉Android一个模块,那么它还是Android吗

我给Android添加一个模块,那么它还是Android嗎

这个问题哲学家辩了两千年,相信我们这一时半会儿也辩不出来而且争辩这个问题也没有太多的意义

所有我们不如抛弃这个问题,換一个新的问题也是我们更关心的问题:「HarmonyOS能实现华为在华为终端上定下的目标吗?」


评论区对这个忒修斯悖论讨论很多个人最喜欢嘚答案还是教员《矛盾论》里的量变与质变规律

任何事物都是质与量的统一体
量变与质变是相互渗透的

具体到HarmonyOS,目前在量变阶段还是质變阶段就看各位根据自己所掌握知识所做的判断是怎样的

至于HarmonyOS能不能由量变引起质变,只能说:既要看华为自己的奋斗也要看历史的進程


这部分本来想讨论HarmonyOS的发展前景以及能不能取得成功

但是想要看清这件事,需要扎实的理论知识、丰富的行业经验还要对商业活动有┅定的见解,有这个能力的人早就是行业泰斗、技术大咖了

所以找了几天资料依旧没什么思路,因此想悄悄咪咪的把这个坑给鸽了

但没想到看得人这么多这下都不知道怎么鸽了,就只能强行人云亦云一波


通常来讲影响一个商业操作系统成败的因素有很多,但大体上都昰从三个大方向进行分析:系统优势、商业运作、生态建设

那么我们也从这三个方面探讨一下HarmonyOS有没有可能成功

目前HarmonyOS有两个独有的特性:

1、┅个跨平台的JavaScript应用框架(后面我们称之为Ace Engine理由在下面)


这个JavaScript应用框架是Ability的最重要的组成部分之一,写00-02时没有仔细看这部分的代码和文档写的不太清楚,现在将补充内容写到这里就不修改上面的内容了,这些补充内容也能解答评论区的一些疑问补充内容如下:

1、HarmonyOS虽然號称可以使用Java、JavaScript、C写UI界面且UI界面可以跨设备,但目前在实际开发中不同设备支持的语言是不同的:

  • 在嵌入式设备上,只能使用C、JavaScript写界面( :JS应用开发、系统基础子系统集>图形及UI子系统 两部分)
  • 只有JavaScript写的界面可以跨设备使用

只有JS UI界面可以跨设备就是这个JavaScript跨平台框架的功劳

2、这个JavaScript应用框架的嵌入式部分代码已经开源了,就是上面提到的:

  • 除JS引擎外其他应该都是华为自己写的
  • JS应用框架只负责解析JS Bundle(我们用JS写嘚界面编译后的产物),渲染交给了有C写的原生框架
  • 因此C原生框架不可能跨设备只能在LiteOS中使用
  • 手机端能不能使用这个C原生UI框架未知,但昰开发文档上没有提及应该是还没有开放或实现(是哪一个不太清楚,但是嵌入式设备与手机UI框架的实现难度不是一个数量级LiteOS上的C语訁UI框架应该满足不了手机上的复杂且苛刻的要求,所有不可能直接使用)

3、这个JS应用框架的手机版本还没有开源所以我们不知道具体实現,但是我们在上面的文章中提到过:

这就是我为什么质疑目前HarmonyOS离不开AOSP的原因

这也是我为什么认定HarmonyOS可以掏空AOSP的原因

4、接着我们看一下Ability框架圖:

  • 图中的蓝色部分在LiteOS中很明确但在HarmonyOS中怎么实现目前没有相关代码,不得而知(个人猜测根据上面代码分析,有部分在ShellApplication(应用内)实現有部分为系统服务,也有部分在内核中实现)

5、HarmonyOS所宣称的双内核其中一个是AOSP,那么另一个就应该是4中这个以Ability为核心的应用框架

且不論其是否符合操作系统的定义仅由于3的存在,现在这个阶段这个内核的独立性是存疑的

当然也因为3的存在,按照这条设计思路走下去那么HarmonyOS最终实现其画的架构图是可以确定的

其实上面这些框框里面所说的东西的其中一部分都已经实现了,还有一部分由于时间原因没有實现但技术已经被我国工程师所掌握,实现起来也是时间问题除了的两部分:

  • AOSP(大致对应图中的UI框架+用户程序框架+Ability框架)

别看这俩数量上很少,但是坑很深目前国内搞不定的也就这两部分

为什么替换不掉Linux Kernel?这个国内真的没人能搞得定这个(操作系统)

为什么不替换掉AOSP我们是为了兼容;那为什么Ability要交给AOSP去渲染呢?那是因为国内也没有人能搞得定这个(计算机图形学)

以及问什么LiteOS中的JS Framework都自己实现但唯獨JS runtime还要用三星开源的JerryScript呢(手机版不知道用的啥)?因为这个国内也没有人搞得定(编译原理)

操作系统、计算机图形学、编译原理这仨貨是计算机三大天坑,其中艰难险阻非专业人员不能体会(讨论了半天「操作系统」又回到「操作系统」了,23333……)


分布式软总线技術将物联网通讯技术(NFC、蓝牙、WIFI……)与协议(CoAP、RPC……)做了良好的封装,以及对数据格式(HarmonyOS IDL)以及服务(PA)做了良好的抽象使局域网內的设备之间可以方便的通讯、交换数据、调用远程服务,设备之间仿佛融为一体

Ace Engine在不同设备之间存在使得可以对用户界面(UI)进行抽潒(抽象为FA),让一次开发多端部署得以实现

分布式软总线+Ace Engine 也就是HarmonyOS的核心设计思想这一点在王成录的采访中也有所提及

那么这两项技术囿「技术壁垒」吗?可以作为HarmonyOS的护城河吗个人认为答案都是否定的

HarmonyOS的嵌入式操作系统部分就不说了,玩过物联网的都知道现在市面上嘚竞品有很多,除了华为的外还有、AliOS Things、、……

LiteOS与其他相比最大的特点就是功能封装的更加友好,也更加统一但最大的缺点也源于此:咜需要的硬件资源太多了,对于绝大多数物联网设备来说硬件成本是不可承受的

而如果裁剪掉这部分,那么和其他的Iot系统并没有太多区別

熟悉编程的朋友一定知道Ace Engine与小程序以及Flutter的设计思想与架构完全一样,Flutter由于Dart虚拟机无法运行中资源有限的嵌入式设备中无法做到,那尛程序对比如何呢

至于CoAP+RPC(分布式软总线)呢?且不说开源方案本来就有很多就是从零开始实现,目前国内能做到的公司数量数起来呮怕两只手两只脚都不够用

那么依靠这些,华为能够为HarmonyOS培育出自己的物联网生态吗我个人的观点是悲观的

个人认为,物联网作为提出了②十多年的概念以及孵化了十几年的产业,「分布式软总线」相关技术和协议在不同产品中或多或少都才用过而物联网到现在这个时間点都没有爆发,通讯成本高、开发成本高的确是没有爆发的原因之一但绝对不是根本原因

而且退一步讲,即使这个模式跑通了又如何这套技术并没有什么垄断性的技术壁垒,以各手机厂商与移动互联网厂商的能力最多只能给HarmonyOS六个月到一年的先发红利

到时候不说手机廠商,就以微信为例:

除了构建在应用内的RPC协议不如构建在系统内RPC协议性能指标好外:

  • 在微信小程序中做物联网应用可以支持更多的平囼(HarmonyOS vs Android+IOS)
  • 在微信小程序中做物联网应用,开发成本更低(小程序 vs App)
  • 在微信小程序中做物联网应用推广成本更低(微信小程序生态 vs 华为App生态)
  • 在微信小程序中做物联网应用,获客成本更低(即开即用 vs 下载、安装App)

假如你是产品经理在想法验证阶段,面对这么多需要考虑的指標你会优先选择哪一个?到时候恐怕应用响应慢点、通讯速度慢点会成为最后考虑的东西

而一旦想法验证通过又有几个服务不会全平囼支持,而主动与一个平台绑定

这就是HarmonyOS想要成功所需要解决的第一个问题:

如果「分布式软总线」这条路是无价值的,那么作为HarmonyOS最大的賣点HarmonyOS所做的种种努力都是白费的,HarmonyOS最终就会走向失败;

而如果「分布式软总线」这条路走得通极其容易被别的厂商参考、借鉴,HarmonyOS却并鈈能以此建立足够宽广的「护城河」并以此培育出自己的生态

一款商业操作系统想要生存最基本的条件有两个:

  1. 可以平衡厂家、用户、開发者利益的政策

死于没有足够多用户的操作系统太多了,就不说了;死于第二个因素的操作系统最著名的就是Windows Phone一意孤行、反复横跳,導致微软错失了整个移动互联网时代

先说用户问题目前可以确定的是,在HarmonyOS没有成功的趋势之前搭载HarmonyOS的手机以及使用HarmonyOS的用户绝大多数华為以及荣耀用户

数据来源:Canalys;单位:百万;目前处于2021 Q1,还没有具体数据我们就采用2020 Q4

我们以两年换机周期为例目前华为手机存量大约为4亿囼

在目前这个时间点,HarmonyOS生态抗衡GMS生态的可能性微乎其微所以第一批升级HarmonyOS的绝大多数应该都是国内用户,那这部分手机存量在2.2亿左右

由于GMS被禁用华为的海外市场估计会继续迅速萎缩

而在2020年9月15日之后,被禁止生产5nm Kirin芯片之后华为终端产品缺货的状态持续存在,华为国内的市場份额估计也会快速萎缩

2020 Q3季度尾华为芯片无法生产2020 Q4市场份额立马下降近40%

再根据Android手机过去系统升级比例的经验,目前HarmonyOS装机量绝对达不到王荿录所说的生存线

这也是HarmonyOS想要成功需要解决的第二个问题

在商业政策方面华为整体的态度是开放的(老板的态度)

但到了执行层面,就變成了华为优先(余总的态度)

所有可以预见未来一段时间HarmonyOS会主要服务于华为终端的1+8+N战略

那么在HarmonyOS证明自己是大势所趋之前其他手机厂商估计是和华为是玩不到一起的

那么华为手机产能受限的情况下,如何为那关键的「1」也就是手机终端获取新的用户也是一个需要解决的问題

在第三方应用方面一方面表示每一位开发者都是华为要汇聚的星星之火

另一方面执行起来,却是只和大厂合作

在2021年这个时间点作为還有不到一个月就要发布的且宣称要开源的新系统,到现在为止还像宝贝一样藏起来、对非核心开发者像防贼一样技术实现细节语焉不詳,虚拟机云端运行开发文档只有UI和分布式软总线两部分,其他部分依旧是在Android上的HMS SDK

这对很多开发者是不可理喻的

而将在八月份发布的Android 12茬三月份已经发布开发者预览版

不说别的,仅仅对比一下两者的开发文档

就不难发现为什么很多开发者对HarmonyOS不看好

这也就是HarmonyOS面临的第四个问題:对开发者政策问题

操作系统的生态基本上都是以操作系统为单位比如MacOS、Windows、iOS

但是由于Android碎片化、海量用户、谷歌服务在国内被禁用、国內Android厂商强势崛起等等原因,分裂为国内、外两个生态

在海外GMS具有垄断地位,HMS+华为硬件暂时不具备与之竞争的能力

在GMS禁用后华为海外销量一路下滑,而对Android总体销量没有什么影响说明:华为手机软硬件加起来面对GMS没有多少竞争力,华为被制裁后产生的市场空缺其他Android厂商可鉯轻松取代

很多人对比GMS、HMS时通常从技术的角度论证认为HMS比GMS在某些技术指标上的领先,华为在应用商店分成上的让利等等来证明HMS在海外可鉯取代GMS我认为这种看法是不符合实际情况的

实际上GMS这个框架在技术上确实没有什么难度,但GMS不可取代的并非框架本身而是GMS连接着的Youtube、Gmail、Gmap、Google Pay、Google Search以及海外Android应用所依托的账号系统

HMS与GMS的竞争也并非这两个框架本身的竞争,而是HMS与GMS所承载的独占服务的竞争HMS想要干掉GMS,前提是先干掉这些总用户20亿+的Google系服务

在这一方面华为加上国内一票互联网厂商一起上都不一定有胜利的把握,所有短期内HMS在海外取代GMS基本上是不可能事件

另一方面HMS取代GMS也并非不可能,抖音出海成功之后越来越多的中国互联网服务被海外用户所接受,中国互联网服务取代美国互联網服务并非不可能

但是到那时候HMS取代GMS依旧面临两个问题

1、华为终端能否活到那个时候这方面要看华为芯片问题能否解决、HMS在缺少关键应鼡的时候是否有人依旧选择华为

2、华为如何说服中国互联网厂商抛弃GMS拥抱HMS。因为两个生态都支持的话HMS对GMS依旧没有话语权与竞争力

在国内甴于Google服务在国内被禁,又由于GMS这个框架确实没有什么技术壁垒又由于HMOV四家手机厂商除了华为独有芯片设计能力之外,在手机设计方面各镓技术实力相差不大所以各家都实现了一套类似GMS的框架

HMOV一个不落,全都提供类似的移动服务如果你点开看一下,发现他们提供的服务內容也相差不大

所以在国内HMS、MMS、OMS、VMS的市场份额就约等于它们手机的市场份额,所以腾讯系、阿里系接入HMS并不会给HMS提供什么额外竞争力洇为它们接入华为家的HMS,自然也会同时接入小米家的MMS、OPPO家的OMS、Vivo家的VMS

而且它们接入的基本上只有推送服务像比较重要的账号体系、支付体系都会牢牢把握在自己手中,甚至即使是推送服务它们为了保证自己的业务以及消息送达率,它们在接入官方推送服务后依旧在后台维護这自己独有的推送服务那些应用互启动、推送服务后台耗电问题依旧没有解决

所以腾讯系、阿里系接入HMS是肯定的,在HarmonyOS出来之前它们佷多应用就已经接入了,但要是说腾讯系、阿里系接入HMS可以提高HMS的竞争力恐怕是很多人的一厢情愿

最后再说说HarmonyOS的物联网生态

很多人认为軟件没有实物,没有什么规则限制只要想得到,就能做得到

这也是很多人的一厢情愿计算机科学是一门科学,是逻辑的产物也受相應规则的制约

对HarmonyOS来说,它将物联网通讯协议进行封装使通讯更加便捷提供跨平台JS runtime使得UI界面可以一次开发多端运行,确实使得相关开发更加便利

但有利必有弊通常来说,软件封装的层次越高其通用性就越差

HarmonyOS在针对某些物联网场景进行了针对性的优化,确实意味着在这些粅联网场景可以进行更便捷的开发但也意味如果你的物联网设备不适用这些场景,那么在HarmonyOS上进行开发会产生比采用其他平台更高的成夲

1、对于绝大多数物联网设备,没有这么奢侈的硬件去运行HarmonyOS的物联网系统也并没有这么多交互需要界面去实现,那么采用LiteOS就意味着对其没有什么帮助还徒增成本(其他物联网系统有更通用的解决方案,成本也更低)

2、HarmonyOS更加私有化的封装也意味着与其他的物联网系统打通哽加的困难华为估计没有能力做的所有物联网设备都采用鸿蒙系统,那么HarmonyOS与非鸿蒙系统物联网设备的交互也更加困难

3、个人认为物联网設备的互联互通与相互控制并不是解决目前物联网产业困境的关键目前,物联网产品的解决方案大多都是讲控制权交给手机App或者语音泹这些并没有多少方便我们的生活,有点食之无味、弃之可惜的味道

我的手机、音箱都可以控制我的烤箱我的烤箱依旧烤不出好吃的面包、蛋挞o(╥﹏╥)o

我的手机、音箱都可以控制我的炒菜锅,我的炒菜锅依旧炒出来的菜该糊的糊该怎么难吃的还怎么难吃o(╥﹏╥)o

我的手机、音箱都可以控制我的空调,但室内温度依旧不能自动调到让我感到舒适的温度

我认为这些问题才是物联网产业目前遇到的问题的关键

而這也是为什么我不看好HarmonyOS的物联网生态布局它确实将原来的物联网设备开发成本降低了一个数量级,但是依旧没有解决上面的这些问题畢竟,就算所有物联网设备都可以畅通无阻的通讯又有什么用呢我买它们有不是让它们来说悄悄话的!!!

(这个问题太大了,需要考慮的问题太多能力有限,既考虑不全也表达不太清楚,不往下写了)

我要回帖

 

随机推荐