1.3 鸿蒙技术创新
1.3.1 技术总览
在本节内容中,我们先对鸿蒙操作系统的整体技术构架进行了解。
每个人和每位参与者对鸿蒙操作系统的认知与理解都是不一样的,本书并不是专业的鸿蒙操作系统开发图书,而是具有科普、工具性质的图书,适合所有想了解和参与鸿蒙操作系统生态发展的读者阅读。本书讲述的是科技创新的内容,不是讲述单项技术或者单个项目,涉及用户、各种智能硬件设备、操作系统、各种应用软件组成的全生态及对整个社会的智能物联化升级工程。所以,涉及的内容与知识点是非常纷繁复杂的,读者需要花些精力,才能理解本书的内容。
鉴于鸿蒙操作系统生态的先进性、复杂性与庞大性,本书试图从生态全貌、主要角色、流程三方面进行分析。
其实,现在很多人还没有深度接触鸿蒙操作系统。很多前期的参与者对鸿蒙操作系统的理解也是基于自身的认知与专业细分领域的理解。笔者创作本书的目的是希望大家阅读完全书后,会有“一览众山小”的感觉,会对鸿蒙操作系统相关的各事项了然于胸;同时,希望本书能让大家对鸿蒙操作系统有初步、整体、客观的认识,希望每位参与者都能找到在鸿蒙操作系统生态中的角色和位置。
相对于现有的操作系统而言,鸿蒙操作系统的总体创新主要体现在“未来、全场景、分布式,以手机为中心,支持多种终端设备”。
鸿蒙操作系统的整体创新让消费者更加舒适、愉悦、便捷地使用鸿蒙操作系统硬件与服务应用;让应用开发者更有创意,更能满足用户需求,更能高效、低成本地去创新;让设备开发者有机会融入一个巨大的生态系统,完全颠覆传统的设计、生产、销售流程与商业服务模式。具体表现为消费者通过鸿蒙操作系统可以让不同终端设备之间快速连接、能力互助、资源共享,匹配需要的设备,获得流畅的体验;应用开发者通过鸿蒙操作系统的多种分布式技术,让应用程序实现一次开发部署,不同终端设备适配,这能够让应用开发者更加专注具体的业务逻辑,更加便捷、高效地创新应用服务;设备开发者通过鸿蒙操作系统的组件化设计方案,可以根据设备配置和业务需求进行灵活调用、剪切,满足各种终端设备对操作系统的功能要求。
基于鸿蒙操作系统官方网站上公布的内容,笔者在2020年11月进行了统计汇总,盘点了进行鸿蒙技术开发服务等需要的团队成员与基本的知识、技能结构。每个具体的技术内容,都会在后面章节中详细介绍,本处就不单独说明了。另外,鸿蒙操作系统的发展日新月异,各项技术更新迭代很快,本部分内容主要是对基础和引入的方法、思维方式的分析,所以不管后续各项技术如何升级,都不影响读者对本部分内容的理解和学习。
具体汇总内容如下:
Linux服务器环境搭建及应用,Windows计算机开发环境准备及应用,HUAWEI DevEco Device Tool智能设备一站式集成开发环境安装与环境内开发,HUAWEl DevEco Studio华为终端全场景多设备的一站式分布式应用开发平台安装与平台内开发,各种API的调用。
开发语言暂时为Java、Extensible Markup Language(简称XML)、C、C++、JavaScript(简称JS)、Cascading Style Sheets(简称CSS)和HarmonyOS Markup Language(简称HML)。
硬件芯片、模组、开发板、产品设计连接等相关知识。
从以上包含的各项技术点中可以分析出,鸿蒙操作系统从总体设计到设备、应用开发,是在综合应用世界现有先进技术积累和基础之上,先进行整合创新,再逐步推出自己的核心技术的。在整体分层设计的内核层、系统服务层、框架层和应用层中都可以看到这个思想和实践。在鸿蒙操作系统代码开发支持的多语言中,暂时都是国际通用和流行的技术,关于每种语言已经有很多非常专业的著作,在此笔者不再单独阐述。
笔者预测,在后续鸿蒙操作系统的发展过程中,用户、开发者等会逐步从内核无感发展到拥有核心技术,从适应现有的使用习惯到逐步实现未来全场景智能化。从鸿蒙2.0 Beta手机版的体验操作来看,对手机原有的UI界面没有明显的调整,兼容安卓应用等,可以清晰地感觉实施路径。
如前所述,鸿蒙操作系统的各项技术、版本等是在不断迭代、优化、升级的,是不断进步的。也许在本书出版时,以上的很多基础技术已经发生了根本性的改变。
我们再来分析一下鸿蒙操作系统的整体技术构架。
鸿蒙操作系统整体从下向上依次为内核相关、系统服务相关、框架相关和应用相关四部分。同时,基于整体技术框架,云侧端形成丰富的应用服务体系,设备端形成互联的智能全场景设备生态;基于应用服务,智能设备及核心框架的应用开发、测试、设计工具环境、智能设备开发工具环境由各种接口和能力支持平台组成。
如果以“人体”为例来说明这个构架,内核层就是大脑和基因,系统服务层和框架层就是骨骼、肌肉组织、神经系统、血液系统等,应用服务和智能设备就是眼睛、耳朵、鼻子、舌头、手、脚等和外界直接接触并完成各项动作的器官。
鸿蒙操作系统的功能按照系统、子系统、功能、模块分级分层执行,在各个设备开发时,鸿蒙操作系统支持根据实际需求调取必要的部分。图1-1为笔者参考鸿蒙官方网站关于鸿蒙操作系统的总体结构图等材料汇总的说明图。
鸿蒙操作系统的内核主要由内核和驱动构成。
内核包括Linux内核、HarmonyOS微内核和华为前期研发使用的LiteOS等。由于鸿蒙操作系统是由多内核组成的,所以鸿蒙操作系统的内核通过抽象层的方式进行了统一的封装,通过抽象层对上层提供统一的基础的各项内核能力,包括进程、线程管理等,让上层感觉不到多内核的存在。
驱动主要涉及硬件的接入和管理,硬件驱动框架是鸿蒙操作系统硬件生态开放的基础,为各种设备与外设提供统一的访问能力和驱动开发、管理框架。
图1-1 鸿蒙操作系统技术整体组成
鸿蒙操作系统的系统服务层具体包括以下部分:
系统基本能力相关,由分布式软总线等部分组成,主要为应用服务运行、迁移等操作提供基本的保障。基础软件服务相关,进行公共的、通用的软件服务,由事件通知、电话等部分组成。增强软件服务相关,为不同能力的各种设备提供具有特色功能的软件服务,包括智慧屏专有业务等。硬件服务相关,由位置服务、生物特征识别等专门为硬件服务的多个部分组成。
根据不同设备形态的部署环境,各个系统集内部可以按子系统进行细分与调用。
框架层为鸿蒙操作系统的应用开发提供了Java、C、C++、JS等多种语言的用户程序体系支持和Ability(能力)体系支持。具体由Java UI和JS UI框架、各种软硬件服务对外开放的多语言框架、API等组成。基于整体技术框架,北向云侧端有应用服务体系,南向设备端不仅是全新的智能联网状态,还有为之配套的开发服务工具。
应用层包括系统应用,比如控制栏;扩展应用,比如输入法;第三方非系统应用,比如即时通信、移动办公、搜索引擎、出行服务等。
设备层包括全面支持鸿蒙操作系统特性的芯片、各种元器件、模组、开发板等。它们构成了基于鸿蒙操作系统万物互联智能世界的数据收集、各项感知、智能反馈互动、各项任务执行的全新的智能终端体系。
笔者也围绕着鸿蒙生态的工具体系进行了汇总,具体包括如下:
HUAWEI DevEco Studio,是北向应用开发者的主要编辑器工具,是面向终端全场景设备的一站式分布式应用服务开发平台,能让开发者进行鸿蒙应用服务的高效开发和创新。
HarmonyOS设计工具,是鸿蒙操作系统设计规范和资源的端云协同设计系统,给开发者们设计相关方面提供快速标注和原子化布局的能力体系,提升设计师和前端开发人员的工作效率、团队协作能力。
DevEco Services是HUAWEI DevEco Studio 的云测服务,主要解决开发者应用测试效率和质量的问题。
HarmonyOS能力开放与智慧平台,是面向智能终端的人工智能能力开放平台,提供应用能力开放HUAWEI HiAI Engine和服务能力开放HUAWEI HiAI Service。开发者们通过简单接入与开发相关工作即可快速使用HarmonyOS AI能力开发,并实现各种所需的智慧服务功能等。
HUAWEI DevEco Device Tool是南向设备开发者们主要使用的编辑器工具,是鸿蒙操作系统智能设备一站式集成开发环境,支持鸿蒙操作系统组件按需定制、一键编译和烧录、可视化调试、分布式能力集成等,帮助开发者进行新硬件的高效开发和不断创新。
除了以上工具,还包括兼容性测试工具等,笔者坚信还有不少新工具正在研发中。完善而强大的工具体系是支撑鸿蒙操作系统发展的基础。
关于以上整体技术构架及各个部分,本书后面的章节中会展开详细的阐述。
1.3.2 具体特征
鸿蒙操作系统具体的各项技术特征包括硬件资源互助共享、一次开发实现多端部署、统一的操作系统与个性化部署等。
硬件资源互助共享具体由分布式软总线、设备虚拟化、分布式数据管理、任务调度这四部分来实现。其中,所有技术都具有分布式特征,体现为快速、安全与便捷调度。
1. 分布式软总线
分布式软总线是鸿蒙操作系统的重大技术思想创新,从某种意义上来讲,分布式软总线是实现软件定义硬件、软件升级硬件的基础。具体如图1-2所示。
这与传统的操作系统思想方向不一样,比如苹果公司就为多种不同终端设备的开发提供了不同的操作系统。
这种发展思想和技术会给用户、开发者与设备厂商提供完全不同的体验。笔者坚定地认可和实践鸿蒙操作系统发展的方向。
分布式软总线的技术特征让多种终端设备有了统一基础,使设备之间的互联互通具有了统一的分布式通信能力,能够快速发现并连接设备,高效地分发任务和传输数据。
图1-2 分布式软总线示意图
2. 设备虚拟化
分布式设备虚拟化平台其实就是一个超级虚拟终端,很多人对“一个”“超级”“虚拟终端”有误解,容易与大品牌垄断、一统天下、众多中小型设备和个性化厂商没有机会相关联。
其实,鸿蒙官方描述的一个超级虚拟终端并不是只有一个设备,而是多种设备在鸿蒙官方统一的虚拟平台下的以人为中心的优化组合服务。这种设置除了为核心设备提供大规模发展的基础,还要为很多个性化的特色的设备提供发展的机会。大家不需要为芯片、操作系统及一些基本应用开发投入大量的时间、精力和经费,专注于设备本身的极致服务体验设置即可,这样大大降低了接入的成本和门槛。
当然,鸿蒙操作系统对各项设备的接入有自己的评测标准与要求体系,只有达到这些条件,才能成为鸿蒙生态成员之一,具体的各项标准要求,在后面章节中会详细讨论。
3. 分布式数据管理
分布式数据管理是相对于鸿蒙应用来说的,实现应用程序数据和用户数据分离、分层,用户数据不再和单一物理设备绑定,即一个账号所有设备通用。
分布式数据管理使鸿蒙操作系统在业务逻辑上与数据存储分离,当用户使用不同的设备进行切换时,可以获得一致的、流畅的、无缝对接与主动感知用户需求的极致体验。
在分布式软总线、分布式数据管理等技术特性的基础上,鸿蒙操作系统体现了分布式任务调度与服务管理的技术特征。比如碰一碰、主动感知、扫一扫发现设备,多个应用之间数据同步,无须多次注册,按需调用即可等。
通过分布式服务管理对跨设备的应用服务进行远程启动、远程调用、远程连接及迁移等操作。可以根据不同设备状态、资源情况、用户的习惯和意图,选择合适的设备来运行,以支持用户的服务。
4. 任务调度
关于一次开发实现多端部署,鸿蒙操作系统的技术思想是把复杂的开发部署变得简单化。鸿蒙操作系统把大量的底层开发工作进行了封装,包括开源版本、SDK(软件开发工具包)、定向代码支持、API调用等,为应用开发者降低难度。
鸿蒙操作系统基于华为总体技术能力和用户服务的经验,提供了统一的可参照的用户服务程序框架、Ability框架及UI界面、UE交互框架。鸿蒙操作系统支持应用开发过程中多设备的业务、界面逻辑进行统一开发与自适应的切换,这能够让应用开发者在HUAWEl DevEco Studio中一次开发、多端部署,并提供统一的测试平台和服务体系,提升跨设备应用的开发效率。具体如图1-3所示。
关于统一的操作系统与个性化部署,鸿蒙操作系统把系统的构成能力进行了组件化和小型化等设计方法处理,就像人类现有的技术认知可以将构成人体和宇宙的物质,最终都归宿为原子、量子一样。比如将积木构成单元通用化和最小基础化,通用样式单元组合越小,越可以自由搭建丰富多彩的各种造型。
图1-3 一次开发、多端部署示意图
鸿蒙操作系统通过组件化和小型化设计,能够让开发者和设备厂商按不同的硬件资源和功能需求调用组合应用。这种技术还支持组件之间的自动依赖关联,支持组件内的部分功能按需调用,从而使本技术在统一的基础上具有高度的智慧性和灵活性。
1.3.3 安全体系
万物互联智能化,其中安全很重要。各种设备硬件、应用软件及相互之间的连接互动等,任何环节失控,都会产生很大的影响,甚至危及人的生命。所以,保证人、硬件、数据的安全连接与使用,并有各项预防出错的预设和各项安全保障是最基本、最重要的系统要求。
本节只是总述,在后面的多个章节中,笔者会从各个角度阐述本部分相关内容。
鸿蒙操作系统在整个数据安全方面的构建,参考与采用了军队级别使用的安全保密管理理论、原则与方法,同时也考虑用户在使用过程中的便捷性与舒适体验等,具体包括人、硬件与使用数据三方面。下面分别进行阐述。
首先,确保人的正确与安全,是指保障和数据访问直接相关联人员的安全等,这是确保用户数据安全的基本条件和前提。鸿蒙操作系统主要通过零信任模型、协同互助认证等来保障用户身份的准确性与可靠性。
其次,确保硬件的正确与安全,是指在基于未来的全场景操作系统中,保障用户的运行设备是可靠、可信的,用户数据在统一的虚拟终端上才能得到安全保护。具体包括以下四个环节:一是通过启动环节来保障支持每个虚拟硬件运行程序等的完整性,确保各个硬件厂商的镜像副本包不被修改等;二是通过硬件环境的可信性保护个人敏感数据的安全,分布式终端硬件使用高安全等级的设备进行个人敏感数据存储和处理;三是鸿蒙操作系统微内核,获得了全球信息技术安全评估通用准则七个级别中的第五个及以上级别等级的认证评级保障;四是通过设备证书认证、公钥基础设置等的配合使用,保障硬件从生产到使用的安全性,实现硬件与硬件之间的可信、可靠传输。
最后,保障数据的正确与安全,是指鸿蒙操作系统围绕数据生成全流程的保护,保证个人隐私等不被泄露。具体包括以下四个环节:一是根据各政府或管理部门的法规、标准、规范等,对数据生成后进行分类分级,在存储、使用、传输过程中通过密钥等方式进行相应的保护与防护,同时支持多设备间的身份认证协同;二是用户的敏感数据仅在超级虚拟终端的可信执行环境中运行,保障用户隐私等的安全;三是基于设备的身份凭据进行各自认证,建立可靠的加密传输路径;四是数据建立在密钥的基础之上,保存在虚拟终端设备中,销毁对应的密钥就完成了数据的销毁。
通过本章的介绍,笔者相信读者对鸿蒙操作系统有了一个整体与初步的认知。有了一定的认识,后面的章节就容易理解了,后面会从鸿蒙万物互联智能世界的未来、基于鸿蒙的智能设备、基于鸿蒙的应用服务、开源鸿蒙与发行版、场景生态与社会影响力等各个角度进行介绍,尽可能地让每位读者找到自己的角色和位置,共同参与这次科技浪潮。