背景
接触鸿蒙、华为,开放原子基金会有一年多了,看着这个系统的成长感觉很不错。有这么多人在努力前行,我们在给朋友,客户介绍鸿蒙的时候也感觉有强大的支撑力。
这篇文章是我们最近对鸿蒙做了多次深度思考后而总结的。客户有时候会提一些问题,比如鸿蒙到底好在哪,鸿蒙和Android的关系等。这些问题会不断强化我们们对鸿蒙系统的认识和理解。以下是这些思考的总结。
鸿蒙OS的愿景
鸿蒙OS不纯粹是以技术或者“担心卡脖子”原因而出现的,其出现的背后驱动力是华为在AIoT领域多年耕耘、思索后,发现Android OS实际上已经不完全满足时代需要,而华为愿意尝试从OS层面解决当前的一些问题而引发鸿蒙OS的出现。
AIoT时代,大家已经达成的共识和希望是:”随着个人拥有的智能设备越来越多,我们希望他们彼此不是孤立的,而是能够更高效地互相协同,就像人一样可以互相沟通交流。让万物互联真正走进生活,让N个智能终端成为1个智慧助理。”最常见的场景有:
- 在家里可以通过智能手表判断用户入睡后,照明设备自动关闭,空调自动调节温度,营造最佳的睡眠环境,就像家里隐藏了一位贴心管家一样。
- 在运动健身时,穿戴设备与多个运动器械相互联接,实时为用户提供科学的运动建议和全面的数据分析,成为你的私人教练。
而现实情况是,因为当下不同设备搭载了不同的操作系统,所以很难把它们联接起来,智能化更无从谈起。万物互联的生活需要一个能让设备互相沟通交流的统一语言。
从华为的定义来看:
- 传统的OS是一套软件定义一个OS,鸿蒙系统试图用一套软件定义多个传统OS + 鸿蒙扩展功能,因此鸿蒙系统具有很强的伸缩性和扩展性。
- 鸿蒙系统是不同设备的统一语言。它是新一代的智能终端操作系统,为不同设备的智能化、互联与协同提供了统一的语言。
- 鸿蒙系统将从软件的底层技术来让更多的设备融为一体,让多个设备不仅可以连在一起,还可以实现协同,让用户在使用多个设备时,像使用一个设备时那样简单,从而为消费者带来更好的体验。
下图展示了鸿蒙OS的愿景
为了支撑这个愿景,鸿蒙OS做了很多创新。下文将逐一介绍。
鸿蒙OS设计理念和关键技术概览
鸿蒙OS的三大目标:
- 新设备可随时增加,协同工作
- 跨设备的交互更自然、流畅
- 场景在设备间流转、协同处理
在达成这三个目标后,多设备在用户面前就呈现为一个超级终端。鸿蒙OS通过如下几个关键技术来支撑这三个目标的实现
简单来看,以上关键技术可粗略划分为:
- 分布式技术,涉及到分布式软总线,分布式数据管理,分布式调用等。其实就是功能,数据在多个设备间互联互通互享。
- 硬件原子化和虚拟化:对硬件能力进行了高度抽象,例如将手机拆解成摄像头+麦克风+扬声器+输入屏的组合。然后,对应用层暴露的是虚拟硬件(从而屏蔽硬件的物理载体,物理位置上的差异)。如此,手机A的应用可以使用车机上的摄像头。
- 统一的应用包格式:使得应用开发者不再需要为单独的设备去开发多个APP,而是一个APP可以安装在不同设备上,大大简化了应用开发的成本。
- 安全和开发工具:为鸿蒙OS以及应用开发提供安全保障和开发便利。
鸿蒙OS架构
纵向看架构,正如刚才所说,鸿蒙是多个传统OS的集合 + 鸿蒙扩展,所有从这个角度去认知鸿蒙系统,鸿蒙OS分为:
- 内核层:相比Android,鸿蒙OS内核支持多种内核,例如在富设备上使用Linux内核,而在轻设备上使用自研的LiteOS,车载仪表上用的是所谓真的鸿蒙内核(鸿蒙微内核,从TEE OS演化过来)通过内核抽象层,鸿蒙OS将内核的差异屏蔽掉
- 系统服务层和应用框架层:这两层类似Android Framework。但鸿蒙的系统服务层根据场景进行了垂直归类和划分,例如IoT业务子系统,穿戴业务子系统。通过这些垂直子系统,使得鸿蒙OS能满足不同场景的需求
- 再之上就是应用层,鸿蒙提供多种语言的API,目前上层的标准语言是js/java,目标是统一语言,但目前的困难是不同的场景,不同行业对系统的性能等要求不一样,所以目前还依赖于硬件。
- 另外,鸿蒙OS和方舟编译器还有深度合作。方舟编译主要是优化虚拟机/运行时环境,通过优化虚拟机/运行时环境来加速程序程序执行,不排除方舟编译器将来会首先在鸿蒙OS上得以大规模商用的可能
三分天下有其一
之前有客户问怎么选,是Android还是鸿蒙?我们当初老是想着从各种分布式应用场景来介绍鸿蒙的好处。发现客户一知半解。很多时候,他们会问,我就一台设备,没有分布式需求....。通过最近参加鸿蒙的活动,我突然明白了(可能这个问题我之前没有特意去思考),鸿蒙就是要替代Android。分布式是鸿蒙的创新点,但确实不是所有应用都时刻会用到这个分布式。仅从分布式角度去给客户推鸿蒙不那么给力。我个人觉得鸿蒙的价值在于要替代Android。在这一年的时间中,我已经深刻感受到华为,包括开放原子基金会的同事,社区合作伙伴,个人爱好者确实是脚踏实地得在做和这个操作系统有关的每一件事。其决心之大,执行力之强难于言表。
所以,当你站在三分天下有其一,要替代Android这个层次来看的话,鸿蒙现在的情况仅仅是过程中的样子,还远不是结果。
最后,在此也号召广大开发者对鸿蒙多一点耐心,也积极参与鸿蒙相关的工作。成功的路上,多一些人参与。