从鸿蒙项目正式推出以来,就一直有各自声音,有看好的,认为鸿蒙的出现将会成为一个智能终端设备操作系统的框架和平台,促进万物互联产业的繁荣发展;也有的人在唱衰,觉得鸿蒙发展不起来,甚至认为鸿蒙只是安卓的换皮、套壳。
那事实是怎么样的?鸿蒙与安卓之间是什么样的关系?
1.操作系统的发展历史,万物互联时代需要一个全新的操作系统
整个操作系统的发展大致经历了3个时代:
**(1)PC时代:**主要以计算机为主,用户规模从1970年的10亿增长到1990年的30亿。这一时代诞生了Windows、Linux、MacOS等操作系统。由于Windows操作系统的广泛应用部署,微软于20世纪90年代成为全球市值最高的公司。
**(2)移动互联网时代:**随着智能手机的普及,操作系统正式进入了移动互联网时代,苹果推出了IOS操作系统,支撑苹果成为全球市值最高的科技公司;谷歌2005年收购了Android公司,并持续地进行研发投入和版本迭代,如今Android操作系统已经成为了世界上发行量最大的移动智能操作系统。
**(3)万物互联时代:**随着越来越多的设备接入接入互联网,单一操作系统很难适应多样化的智能终端、各种复杂的应用场景的需求。谷歌、华为等各大企业纷纷进入物联网操作系统领域,并持续加大这方面的投入。
谷歌从2016年开始研发基于Zircon微内核的Fuchsia操作系统,可以取代为移动设备设计的 Android,计划用于个人移动设备、IoT设备等不同算力和需求的场景。
华为于2019发布了基于物联网的鸿蒙操作系统HarmonyOS,随后于2020年正式发布了开源版本,也就是OpenHarmony,面向全场景、全连接,适用于各类智能设备。
2.鸿蒙发展历史
2012年,华为总裁任正非表示:”华为做终端操作系统是处于战略的考虑”,鸿蒙操作系统的概念首次出现在大众视野。
2016年5月,鸿蒙正式在华为公司的软件部内部立项并开始投入研发。
2019年8月9号,华为正式发布了HarmonyOS 1.0,该系统率先部署在智慧屏上。
2020年9月10日,华为在HDC大会上发布HarmonyOS 2.0。该版主要包含三个方面做出重大提升:分布式的软总线、分布式的数据管理以及分布式的安全。
同年6月,由工信部牵头的开放原子开源基金会正式成立,也是国内首个开源软件基金会。华为将HarmonyOS2.0中的基础能力部分开源出来,并捐赠给开放原子开源基金会,正式成立了OpenHarmony开源项目。
2023年4月,OpenHarmony发布了3.2Release版本,全面支持复杂标准带屏设备。
此外,在2023年6月,OpenHarmony发布了4.0Beta版本,ArkUI进一步完善组件能力和效果,并提供首批API Level 10接口。正式的4.0Release版本则预估在2023年9月或者2024年发布。
3.鸿蒙、HarmonyOS、OpenHarmony三者关系
从某种意义上来说,鸿蒙包括HarmonyOS和OpenHarmony。
2016 年 5 月,华为消费者 BG 软件部开始立项研发“分布式操作系统 1.0 版本”,这就是鸿蒙系统的雏形。
考虑到华为设备的现有数量和鸿蒙系统初期软件生态的不完善,华为鸿蒙系统技术上兼容Android应用,同时集成了华为自身的能力,包括HMS等,形成了一个可以在华为手机、智慧屏、平板等设备上运行的操作系统,也就是HarmonyOS,该系统不开源。
随着华为开源战略的布局,为确保鸿蒙系统能有一个良好的生态,吸纳更多共建参与,华为将鸿蒙系统的基础能力部分开源出来,开源部分也就是OpenHarmony。该部分为华为自研项目,不兼容Android生态。
所以,一般OpenHarmony指开源鸿蒙,HarmonyOS指华为闭源鸿蒙,两者在应用框架上都采用ArkUI开发框架,应用开发上互相兼容。
随着OpenHarmony生态的完善,OpenHarmony会逐步替代HarmonyOS,最终形成一个统一开源鸿蒙的生态。
4.鸿蒙是安卓套壳吗?
前面提到鸿蒙系统,或者说HarmonyOS为了解决前期软件生态的不完善、没有足够多的应用的问题,所以从技术上兼容Android应用。但是HarmonyOS能跑安卓应用并不能说明HarmonyOS是套壳安卓。
我们可以以一棵树来做类别,鸿蒙的技术底座是基于OpenHarmony,这是鸿蒙这棵树的根、也是躯干。
鸿蒙这棵树要长出鸿蒙果实,需要土壤、需要一定时间的培育。而在这之前,我们需要马上可以食用的果实(大量的应用),怎么办?
于是,华为在鸿蒙这一颗树上,采用嫁接技术嫁接了安卓的一些枝干,从而能在鸿蒙这棵树上长出安卓的果实(支持安卓应用)。
但是,我们回过头来看,鸿蒙这一颗树的根、躯干都是OpenHarmony、上面也逐渐长出鸿蒙的果实。虽然它现在某些枝干上采用了嫁接技术长出了安卓的果实,但是不能说这棵树是安卓。
据悉、华为明年将会发布HarmonyOS NEXT版本,该版本将会砍去所有安卓的枝干,不再技术上兼容安卓。
到时,我们可以看到鸿蒙之树将结出丰硕之果!
5.OpenHarmony与Android的对比
Android是一种基于Linux内核(不包含GNU组件)的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由美国Google公司和开放手机联盟领导及开发。
在系统架构设计之初,OpenHarmony定位就不是Android的替代品,OpenHarmony的目标是构建一个面向万物互联时代的分布式操作系统,与Android并非同一个赛道。
两者在系统架构设计上比较相似,不过OpenHarmony在传统的系统架构上新增了分布式相关能力,如图所示。
可以看到,OpenHarmony有着自己一套的架构设计和实现,从开发语言、运行时、应用框架等都不同于Android,两者是完全不同的操作系统。
(1)内核对比
Android:基于 Linux 内核,程序的安全性、网络协议、内存管理、进程管理、驱动程序都由 Linux 内核所提供。另外,Android Runtime(ART)就是依靠 Linux 内核来执行底层功能的,其中包括线程和低层内存管理。
OpenHarmony:采用多内核设计,支持针对不同资源受限设备选用适合的OS内核。内核抽象层(KAL,Kernel Abstract Layer)通过屏蔽多内核差异,对上层提供基础的内核能力,包括进程/线程管理、内存管理、文件系统、网络管理和外设管理等。
(2)运行时对比
Android Runtime (ART) 是 Android 上的应用和部分系统服务使用的托管式运行时。ART 及其前身 Dalvik 最初是专为 Android 项目打造的。作为运行时的 ART 可执行 Dalvik 可执行文件并遵循 Dex 字节码规范。
方舟eTS运行时是OpenHarmony上默认的ArkTS语言运行时,提供完备的C++交互ArkTS NAPI和各种高性能的垃圾回收器,驱动着万物互联时代的OpenHarmony应用程序。