华为鸿蒙操作系统(HarmonyOS)出来后,互联网上已经吵翻天了,有人认为HarmonyOS是“自主的全场景分布式系统”,是国产之光,另一派则认为HarmonyOS是“Android套壳”,是挂羊头卖狗肉。作为十年老程序员,有必要从代码角度厘清一下真相(佩服知乎大神,已拆解完HarmonyOS源码):

微服务集成sharding_华为

1  目录结构和Android雷同,只是改了后缀,如果将后缀.hap改回.apk,甚至可以直接用Android Studio打开。

2 主代码就干了一件事:重新定义了一套新的UI,这就是为啥鸿蒙看起来和苹果似的原因,这是华为重写的。

3  华为最关键的三个点是加入了分布式任务调度、分布式数据服务、分布式文件服务,都在ohos.jar包里面,但是其源码全部隐藏了。

微服务集成sharding_华为_02

综述一下,HarmonyOS = 原有的Android系统 - GMS + HMS + 分布式软总线 + 以Ability为核心的应用开发框架。可能还是不太好懂,换个角度来说:

1  全世界所有的Android操作系统最底层的内核是Linux;

2  谷歌在Linux上为手机场景提供了一套开源封装就是Android Open Source Project,是所有的Android系统的地基,也被称之为Android裸机版;

3  日常说的Android操作系统实际上是Android Open Source Project+谷歌定制的GMS增强包;

4  华为鸿蒙则是去掉了GMS,换成了自己的HMS,当然还加入了分布式的东西,基于Android Open Source Project套壳而成,所以说是AOSP套壳是没问题的,但又确实跟Android不同,这也是争议所在。

面对现实吧,没人会说IOS是Android套壳,也没有会说Windows是Linux套壳,而华为鸿蒙现阶段就是基于Android Open Source Project套壳!但这重要吗?我国当年花重金购入瓦良格号,基于此开发出辽宁舰、山东舰,现在会有人在乎它们算不算套壳吗?一方面积极汲取他人长处,快速完成自我提升,另一方面也要意识到差距,持续进步完成蜕变!