自鸿蒙项目正式面世,便涌现出各种不同的声音,有人对其前景充满信心,坚信鸿蒙的问世将构筑起智能终端设备操作系统的框架与平台,助力万物互联产业的蓬勃发展;然而,也有人持悲观态度,认为鸿蒙难以崛起,甚至有人质疑鸿蒙不过是安卓的翻版或外壳。
那事实是怎么样的?鸿蒙与安卓之间是什么样的关系?
1.操作系统的发展历史,万物互联时代需要一个全新的操作系统
整个操作系统的发展大致经历了3个时代:
在PC时代,计算机成为核心,用户数量从1970年的10亿增至1990年的30亿。这一时期见证了Windows、Linux、MacOS等操作系统的诞生。特别是Windows操作系统的广泛普及,使得微软在20世纪90年代跃升为全球市值最高的企业。
在移动互联网盛行的当下,智能手机的广泛使用使得操作系统迈入了移动互联网的新纪元。苹果公司推出了iOS操作系统,这一举措使得苹果得以成为市值最高的科技企业;同时,谷歌在2005年收购了Android公司,并不断加大研发力度,对系统进行升级更新,现如今,Android操作系统已成为全球范围内使用最广泛的移动智能操作系统。
在万物互联的时代,随着越来越多的设备接入网络,单一的操作系统难以满足各式智能终端以及复杂应用场景的多样化需求。因此,谷歌、华为等众多企业纷纷投身于物联网操作系统的研发,并且在此领域持续增加投资力度。
自2016年起,谷歌着手开发以Zircon微内核为基础的Fuchsia操作系统,此系统有望替代专为移动设备打造的Android,并计划在满足个人移动设备、物联网设备等多样化算力和需求的应用场景中发挥重要作用。
华为在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.2版本的Release,该版本全面兼容并支持各类带有屏幕的复杂标准设备。
此外,在2023年6月,OpenHarmony推出了4.0Beta版本,其中ArkUI组件得到了能力与效果的强化,同时推出了首批API Level 10接口。至于正式的4.0Release版本,预计将在2023年9月或者延至2024年发布。
鸿蒙操作系统、HarmonyOS以及OpenHarmony三者之间存在着紧密的联系,它们并非完全独立的个体,而是相互关联、相互影响的。其中,鸿蒙操作系统是HarmonyOS的官方名称,而OpenHarmony则是HarmonyOS的开源版本。这三者在技术理念、架构设计以及应用场景等方面有着共同的基础,同时也各自具有独特的特点和发展方向。
在某种层面上,鸿蒙系统涵盖了HarmonyOS与OpenHarmony两大组成部分。
2016年5月,华为消费者业务软件部门着手启动了“分布式操作系统1.0版本”的研发项目,这一项目标志着鸿蒙系统的初步诞生。
华为设备存量庞大,且鸿蒙系统在早期软件生态方面尚不健全,因此其技术层面支持Android应用,并整合了华为自家的功能,如HMS等,构建了一个适用于华为手机、智慧屏、平板等产品的操作系统,即HarmonyOS。值得注意的是,该系统并未开放源代码。
华为在实施开源战略的过程中,为了构建鸿蒙系统健康的发展环境,吸引更多的合作伙伴加入,已经将鸿蒙系统的基础功能模块进行了开源,这部分开源内容被称为OpenHarmony。这一开源项目是华为自主研发的,与Android生态系统并不兼容。
因此,通常情况下,OpenHarmony代表开源版本的鸿蒙系统,而HarmonyOS则指的是华为公司所采用的闭源鸿蒙系统。这两个系统在应用开发方面都采用了ArkUI这一开发框架,并且它们在应用层面是相互兼容的。
随着OpenHarmony生态系统的日益成熟,它将逐步取代HarmonyOS,并最终构建起一个统一的、开源的鸿蒙生态系统。
4.鸿蒙是安卓套壳吗?
提及鸿蒙系统,亦即HarmonyOS,它旨在解决早期软件生态不健全、应用数量不足的问题,因此技术上实现了对Android应用的兼容。然而,HarmonyOS能够运行安卓应用,并不意味着它仅仅是安卓的套壳版本。
我们可以将一棵树作为分类的例子,鸿蒙的技术基础建立在OpenHarmony之上,这既是鸿蒙之树的根基,亦是它的主干。
鸿蒙之树若欲结出鸿蒙之果,便需肥沃的土壤以及一段时间的精心照料。然而,在果实成熟之前,我们急需可供食用的果实(即大量应用),这又该如何是好呢?
华为在鸿蒙系统这棵树上,运用了嫁接手段,将安卓的部分枝节与之融合,使得鸿蒙系统上能够孕育出安卓的果实,即支持安卓应用。
然而,当我们回顾过去,会发现鸿蒙这棵树的根基和主干源自OpenHarmony,其上亦逐渐结出了鸿蒙的果实。尽管目前某些枝桠通过嫁接技术孕育出了安卓的果实,但这样的树并不能被称作安卓。
据悉,华为计划在明年推出HarmonyOS NEXT新版本,该版本将彻底摒弃安卓系统的所有分支,且在技术上不再与安卓系统兼容。
到时,我们可以看到鸿蒙之树将结出丰硕之果!
5.OpenHarmony与Android的对比
Android操作系统,其核心基于Linux内核,但不包含GNU组件,它是一款自由且开源的软件。该系统主要应用于移动设备,包括智能手机和平板电脑。其开发与领导工作由美国谷歌公司以及开放手机联盟共同承担。
系统架构设计的初始阶段,OpenHarmony的定位并非旨在取代Android,其旨在打造一个适用于万物互联时代的分布式操作系统,与Android不在同一竞争领域。
两者在系统架构设计方面展现出一定的相似性,然而,OpenHarmony在继承传统系统架构的基础上,引入了分布式功能,具体内容如图例所示。
观察可知,OpenHarmony具备独特的架构设计及实现方式,无论是开发语言、运行时还是应用框架,都与Android存在显著差异,它们是两种截然不同的操作系统。
(1)内核对比
Android系统,其核心建立在Linux内核之上,依托此内核提供程序安全、网络协议、内存以及进程管理等功能。此外,Android的运行时环境(ART)亦依赖Linux内核来执行其底层任务,这些任务涵盖了线程处理和底层内存管理等方面。
OpenHarmony系统采用了多内核架构,能够根据不同资源受限的设备,灵活选择最合适的操作系统内核。内核抽象层(KAL,即Kernel Abstract Layer)负责屏蔽不同内核之间的差异,向上层应用提供统一的内核功能支持,这包括进程与线程的管理、内存的分配与回收、文件系统的访问、网络通信的维护以及外部设备的控制等。
(2)运行时对比
Android Runtime(ART)是运行在Android平台上的应用以及部分系统服务所采用的托管型运行环境。ART及其前身Dalvik,最初是为Android项目量身定制的。作为运行时环境,ART能够执行Dalvik的可执行文件,并且遵循Dex字节码的标准规范。
方舟eTS作为OpenHarmony平台上的预设ArkTS语言执行环境,具备丰富的C++接口ArkTS NAPI功能,以及多种高效能的垃圾回收机制,有力地支撑着万物互联时代的OpenHarmony应用发展。