关注华为鸿蒙系统好久了,看了鸿蒙发布会、也看了很多鸿蒙的科普文章,深深的被鸿蒙的特性和未来应用吸引。鸿蒙的特性和优点有非常多,如果用一句话来概括:让万物活起来充满想象;如果用两句话来概括:鸿蒙实现了各种设备的虚拟化,通过软总线实现了设备的互联和数据同步。用更多的话来描述鸿蒙:万物互连,全场景,分布式,微内核,软总线。。。
接下来就参考华为鸿蒙官网专业的介绍一下到底什么是HarmonyOS。以上的一句、两句概括纯属一家理解之言。
1、HarmonyOS概述
1.1HarmonyOS的定位
HarmonyOS是一款面向万物互联时代的、全新的分布式操作系统。在传统的单设备系统能力基础上,HarmonyOS提出了基于同一套系统能力、适配多种终端形态的分布式理念,能够支持手机、平板、智能穿戴、智慧屏、车机等多种终端设备,提供全场景(移动办公、运动健康、社交通信、媒体娱乐等)业务能力
1.2HarmonyOS的三大特征
1)使用者:多设备融为一体––形成超级终端,硬件设备可以弹性扩展、设备互助、资源共享(比如手机可以用电脑、电视屏幕,来弥补手机屏幕太小);
具体到使用者而言,能快速实现设备互联(碰一碰)、能力互助,并能提供流畅的体验(流畅很重要,是智能的第一步,是消费者愿意使用的前提,也是鸿蒙厉害的地方––数据不延迟)。
2)应用开发者:一次开发,多终端部署
具体而言HarmonyOS通过分布式技术,屏蔽不同终端差异,让开发者关注应用、高效开发。
3)硬件开发者:统一操作系统,弹性部署
HarmonyOS采用组件化的设计,硬件开发者可以根据设备特性、设备需求对操作系统进行裁剪安装––一个OS,按需求任意弹性部署,这种特性让HarmonyOS支持小到路由器、烤箱,大到电视、手机、车机都可以部署。
HarmonyOS支持多种开发语言:Java、XML、C/C++、JavaScript、CSS、HML(HarmonyOS Markup Language)。
1.3 HarmonyOS技术架构
HarmonyOS由四部分构成:内核层、服务层、框架层、应用层
1)内核层
一)、多内核设计,可裁剪选择适应不同设备;通过内核抽象层(KAL,Kernel Abstract Layer)屏蔽设备内核差异,对外提供线程管理、内存管理、文件系统、网络管理和外部设备。
二)、驱动子系统,硬件驱动框架(HDF,Hard Driver Framework),对外统一外访能力、驱动开发、管理框架。
2)系统服务
一)、基本能力子系统,为分布式应用,提供运行、调度、迁移等提供能力,由分布式软总线、数据管理、任务调度、方舟多语言、公共基础库、多模输入、图形、安全、Ai等子系统组成。
二)、基础软件服务子系统,提供公共、通用服务,如事件、电话、多媒体、DFX、Dv等组成
三)、硬件服务子系统,为HarmonyOS提供硬件服务,如位置服务、生物特征识别、穿戴、IoT硬件服务等子系统组成。
根据不同设备可以对以上三个系统选择性安装,而且支持对内部按功能更细粒度的裁剪。
3)框架层
为HarmonyOS提供多语言程序框架和Ability框架、两种UI(Java UI、适用于JS/TS的方舟开发框架)、软硬件对外API。同样框架层支持任意裁剪、组合。
4)应用层(包含系统应用和第三方应用)
HarmonyOS的应用有一个FA(Feature Ability)或PA(Particle Ability)组成,PA有界面与用户交互,PA无界面提供后台运行任务以及统一数据访问抽象。PA为FA提供支撑。
如下图视频通话功能(有界面,属于FA),通话的同时使用了摄像头采集(PA1)、视频美颜处理(PA2)、超级夜景能力(PA3),三者共同支撑了视频通话这个功能且没有界面。
FA、PA可以按需下载安装,按需组合分发。
比如电视只有视频采集,只需要安装PA1即可;同时支持夸设备调度、分发,让一个设备具备利用另一个设备的能力。
1.4 HarmonyOS关键特性
1.4.1硬件互助、资源共享
多种设备之间能够实现硬件互助、资源共享,依赖的关键技术包括四大技术:分布式软总线、分布式设备虚拟化、分布式数据库管理、分布式任务调度等。
1)分布式软总线(构建设备连接通道,解决设备间通信问题)
分布式软总线是手机、平板、智能穿戴、智慧屏、车机等分布式设备的通信基座,为设备之间的互联互通提供了统一的分布式通信能力,为设备之间的无感发现和零等待传输创造了条件。开发者只需聚焦于业务逻辑的实现,无需关注组网方式与底层协议。
要很好的理解分布式软总线,得先解释一下总线,他是一个传统计算机硬件中的一个概念。
总线,英文名Bus,在传统计算机中总线是一种内部结构,它是CPU、内存、输入、输出设备间传递信息的公共通道,主机各个设备以及外部设备通过总线链接,从而形成了计算机硬件系统。总线可以划分为数据总线、地址总线、控制总线,分别用来传输数据、数据地址、控制信号。具备特点:即插即用、高带宽、低延时、高可靠、标准。
现在再来看分布式总线,就是构建不同设备之间通信的总线。现实中不同设备可能涉及蓝牙链接、WiFi链接,华为通过构建软件总线屏蔽设备之间的差异,把开发者从底层解脱出来,集中于上层应用,可以说分布式软总线是所有开发和应用的基础。华为通过分布式软总线解决了以下几个核心问题:
快速链接(一碰连,自动搜索链接,降低人工干预) 异构网络组网(融合WiFi、蓝牙) 软总线之间传输(数据、任务)解决以上核心问题,就为不同设备间构建了高效、低延时、高可靠的通信基础。下图是HarmonyOS官方分布式软总线架构图,总线中枢解决连接+异构组网问题,任务和数据总线解决传输问题;同样类比过来和我们理解的硬件总线之间的通信有异曲同工之妙,但华为更厉害的地方在于,计算机都是标准接口、标准通信设备,而Harmony面对的是不同的设备、不同的接口、动态的环境。
以上总线内容参考了《鸿蒙OS尖刀武器之分布式总线技术全解析》,感兴趣的可以更详细的去看一下:鸿蒙 OS 尖刀武器之分布式软总线技术全解析
2)分布式虚拟化设备
将各个组网设备虚拟化,实现不同设备之间资源融合、管理、数据处理统一调度,所有的设备就像一个统一的超级虚拟终端。让不同设备根据用户的需求自由调度,发挥各自优势。
比如只能用手机视频通话,可以通过设备虚拟化,通过音箱传输声音,电视展示内容,电视摄像头采集数据,你就可以在房间里边做家务边聊天。
3)分布式数据管理
这里就不难理解了,基于分布式软总线,解决应用程序数据和用户数据分布式管理,实现用户数据、业务逻辑、数据存储夸设备,随处流转。
亲自体验过的,手机一碰链接电脑,点击手机上的Word,直接Windows的office打开,编辑完毕以后手机上的数据也被编辑了。
这点觉得特别厉害,以前一直以为是电脑端复制了一份手机端的Word而已,就很难保障任务同步、数据同步;这点保障了夸设备任务继续的可能,比如你去某一个地方:正在车上导航,下车需要继续走,超级终端发现你远离了车辆,就立马从车载导航切换到手机不行导航,实现功能/任务夸设备迁移,这才是真正的“以人为本”。
4)分布式任务调度
基于分布式软总线、分布式数据管理、分布式Profile等技术特性,构建统一的分布式服务管理(发现、同步、注册、调用)机制,支持对跨设备的应用进行远程启动、远程调用、远程连接以及迁移等操作,能够根据不同设备的能力、位置、业务运行状态、资源使用情况,以及用户的习惯和意图,选择合适的设备运行分布式任务。
1.4.2 一次开发,多终端部署
HarmonyOS提供了用户程序框架、Ability框架以及UI框架,这些框架支持多终端、多尺寸屏幕、多分辨率DPI、多版本API等方面业务逻辑、页面逻辑,支持逻辑页面复用,真正做到一次开发、多端部署。
UI框架支持使用Java、JS、TS语言进行开发,并提供了丰富的多态控件,可以在手机、平板、智能穿戴、智慧屏、车机上显示不同的UI效果。
1.4.3 统一OS,弹性部署
HarmonyOS通过组件化和小型化设计,能够适配不同类型的设备和需求,支持:
组支持件的选择(不需要的不安装,比如手机不用安装视频功能),根据硬件形态和需求选择组件支持组件内部功能选择(组件可大可小,只要部分需要的功能),根据硬件和资源形态,任意选择组件内部功能支持组件间依赖的关联(平台级的可大可小,依赖的外部组件自动下载,不需要就可以省去),根据编译关系,自动生成组件依赖关系;鸿蒙的特性看了很多,一直觉得心动,今天终于开篇了;最大的感受以前觉得鸿蒙很厉害,通过学习才更加理解鸿蒙为什么厉害;而通过学习也对鸿蒙更加心动。
虽然物联网、5G、包括HarmonyOS自己,以及开发者、设备、生态都还一片混沌,但是随着对HarmonyOS的了解,更加确信它会像盘古开天辟地一样成就一个万物智能的未来!
参考学习鸿蒙官方文档: 鸿蒙官方文档中心
免责声明:本网站内容主要来自原创、合作伙伴供稿和第三方自媒体作者投稿,凡在本网站出现的信息,均仅供参考。本网站将尽力确保所提供信息的准确性及可靠性,但不保证有关资料的准确性及可靠性,读者在使用前请进一步核实,并对任何自主决定的行为负责。本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。任何单位或个人认为本网站中的网页或链接内容可能涉嫌侵犯其知识产权或存在不实内容时,应及时向本网站提出书面权利通知或不实情况说明,并提供身份证明、权属证明及详细侵权或不实情况证明。本网站在收到上述法律文件后,将会依法尽快联系相关文章源头核实,沟通删除相关内容或断开相关链接。