9

​三分天下有其一,鸿蒙OS全面介绍

 2 years ago
source link: https://blog.csdn.net/Innost/article/details/117050080
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

​三分天下有其一,鸿蒙OS全面介绍

背景
接触鸿蒙、华为,开放原子基金会有一年多了,看着这个系统的成长感觉很不错。有这么多人在努力前行,我们在给朋友,客户介绍鸿蒙的时候也感觉有强大的支撑力。

这篇文章是我们最近对鸿蒙做了多次深度思考后而总结的。客户有时候会提一些问题,比如鸿蒙到底好在哪,鸿蒙和Android的关系等。这些问题会不断强化我们们对鸿蒙系统的认识和理解。以下是这些思考的总结。

鸿蒙OS的愿景
鸿蒙OS不纯粹是以技术或者“担心卡脖子”原因而出现的,其出现的背后驱动力是华为在AIoT领域多年耕耘、思索后,发现Android OS实际上已经不完全满足时代需要,而华为愿意尝试从OS层面解决当前的一些问题而引发鸿蒙OS的出现。

AIoT时代,大家已经达成的共识和希望是:”随着个人拥有的智能设备越来越多,我们希望他们彼此不是孤立的,而是能够更高效地互相协同,就像人一样可以互相沟通交流。让万物互联真正走进生活,让N个智能终端成为1个智慧助理。”最常见的场景有:

  • 在家里可以通过智能手表判断用户入睡后,照明设备自动关闭,空调自动调节温度,营造最佳的睡眠环境,就像家里隐藏了一位贴心管家一样。

  • 在运动健身时,穿戴设备与多个运动器械相互联接,实时为用户提供科学的运动建议和全面的数据分析,成为你的私人教练。

而现实情况是,因为当下不同设备搭载了不同的操作系统,所以很难把它们联接起来,智能化更无从谈起。万物互联的生活需要一个能让设备互相沟通交流的统一语言。

从华为的定义来看:

  • 传统的OS是一套软件定义一个OS,鸿蒙系统试图用一套软件定义多个传统OS + 鸿蒙扩展功能,因此鸿蒙系统具有很强的伸缩性和扩展性。

  • 鸿蒙系统是不同设备的统一语言。它是新一代的智能终端操作系统,为不同设备的智能化、互联与协同提供了统一的语言。

  • 鸿蒙系统将从软件的底层技术来让更多的设备融为一体,让多个设备不仅可以连在一起,还可以实现协同,让用户在使用多个设备时,像使用一个设备时那样简单,从而为消费者带来更好的体验。

下图展示了鸿蒙OS的愿景

4ce6fe467b6339d241b642671b21cf80.png为了支撑这个愿景,鸿蒙OS做了很多创新。下文将逐一介绍。

鸿蒙OS设计理念和关键技术概览3c89f75851807a9d89f911418df5770c.png鸿蒙OS的三大目标:

  • 新设备可随时增加,协同工作

  • 跨设备的交互更自然、流畅

  • 场景在设备间流转、协同处理

在达成这三个目标后,多设备在用户面前就呈现为一个超级终端。鸿蒙OS通过如下几个关键技术来支撑这三个目标的实现

d2822d7f5cadb822495995103d303247.png简单来看,以上关键技术可粗略划分为:

  • 分布式技术,涉及到分布式软总线,分布式数据管理,分布式调用等。其实就是功能,数据在多个设备间互联互通互享。

  • 硬件原子化和虚拟化:对硬件能力进行了高度抽象,例如将手机拆解成摄像头+麦克风+扬声器+输入屏的组合。然后,对应用层暴露的是虚拟硬件(从而屏蔽硬件的物理载体,物理位置上的差异)。如此,手机A的应用可以使用车机上的摄像头。

  • 统一的应用包格式:使得应用开发者不再需要为单独的设备去开发多个APP,而是一个APP可以安装在不同设备上,大大简化了应用开发的成本。

  • 安全和开发工具:为鸿蒙OS以及应用开发提供安全保障和开发便利。

鸿蒙OS架构 1b49fb463c78a9cd3f26e68c4da15343.png

纵向看架构,正如刚才所说,鸿蒙是多个传统OS的集合 + 鸿蒙扩展,所有从这个角度去认知鸿蒙系统,鸿蒙OS分为:

  • 内核层:相比Android,鸿蒙OS内核支持多种内核,例如在富设备上使用Linux内核,而在轻设备上使用自研的LiteOS,车载仪表上用的是所谓真的鸿蒙内核(鸿蒙微内核,从TEE OS演化过来)通过内核抽象层,鸿蒙OS将内核的差异屏蔽掉

  • 系统服务层和应用框架层:这两层类似Android Framework。但鸿蒙的系统服务层根据场景进行了垂直归类和划分,例如IoT业务子系统,穿戴业务子系统。通过这些垂直子系统,使得鸿蒙OS能满足不同场景的需求

  • 再之上就是应用层,鸿蒙提供多种语言的API,目前上层的标准语言是js/java,目标是统一语言,但目前的困难是不同的场景,不同行业对系统的性能等要求不一样,所以目前还依赖于硬件。

  • 另外,鸿蒙OS和方舟编译器还有深度合作。方舟编译主要是优化虚拟机/运行时环境,通过优化虚拟机/运行时环境来加速程序程序执行,不排除方舟编译器将来会首先在鸿蒙OS上得以大规模商用的可能

三分天下有其一
之前有客户问怎么选,是Android还是鸿蒙?我们当初老是想着从各种分布式应用场景来介绍鸿蒙的好处。发现客户一知半解。很多时候,他们会问,我就一台设备,没有分布式需求....。通过最近参加鸿蒙的活动,我突然明白了(可能这个问题我之前没有特意去思考),鸿蒙就是要替代Android。分布式是鸿蒙的创新点,但确实不是所有应用都时刻会用到这个分布式。仅从分布式角度去给客户推鸿蒙不那么给力。我个人觉得鸿蒙的价值在于要替代Android。在这一年的时间中,我已经深刻感受到华为,包括开放原子基金会的同事,社区合作伙伴,个人爱好者确实是脚踏实地得在做和这个操作系统有关的每一件事。其决心之大,执行力之强难于言表。

所以,当你站在三分天下有其一,要替代Android这个层次来看的话,鸿蒙现在的情况仅仅是过程中的样子,还远不是结果。

最后,在此也号召广大开发者对鸿蒙多一点耐心,也积极参与鸿蒙相关的工作。成功的路上,多一些人参与。

最后的最后

  • 我期望的结果不是朋友们从我的书、文章、博客后学会了什么知识,干成了什么,而应该是说,神农,我可是踩在你的肩膀上的喔。

  • 关于学习方面的问题,我已经讨论完了。后面这个公众号将对一些基础的技术,新技术做一些学习和分享。也欢迎你的投稿。不过,正如我在公众号“联系方式”里说的那样——郑渊洁在童话大王《智齿》里有一句话令我印象深刻,大意是“我有权保持沉默,但你说的每一句话都可能成为我灵感的源泉”。所以,影响不是单向的,很可能我从你那学到的东西更多。

e58498e17c00bd8e6719ae73074485b9.png

神农和朋友们的杂文集

长按识别二维码关注我们


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK