鸿蒙应用开发:HarmonyOS开发详解(一)——带你全面认识新一代万物联网的鸿蒙智能终端

关注华为鸿蒙系统好久了,看了鸿蒙发布会、也看了很多鸿蒙的科普文章,深深的被鸿蒙的特性和未来应用吸引。鸿蒙的特性和优点有非常多,如果用一句话来概括:让万物活起来充满想象;如果用两句话来概括:鸿蒙实现了各种设备的虚拟化,通过软总线实现了设备的互联和数据同步。用更多的话来描述鸿蒙:万物互连,全场景,分布式,微内核,软总线。。。

接下来就参考华为鸿蒙官网专业的介绍一下到底什么是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的了解,更加确信它会像盘古开天辟地一样成就一个万物智能的未来!

参考学习鸿蒙官方文档: 鸿蒙官方文档中心

相关推荐

最新

相关文章