鸿蒙应用开发培训笔记01:HarmonyOS介绍

文章目录

  • 零、本讲学习目标
  • 一、鸿蒙系统理念与关键技术
    • (一)智能终端产业飞速发展带来历史性机遇
    • (二)HarmonyOS+超级终端,带给消费者的不一样
    • (三)HarmonyOS 开启万物互联时代的一把钥匙
    • (四)支持“超级终端”的HarmonyOS抽象模型与关键技术
    • (五)HarmonyOS 架构简介
    • (六)HarmonyOS分布式用户服务的基础:原子化的元程序/元服务
    • (七)元程序/元服务是超级终端的基础应用结构
    • (八)如何开发用于分布式服务的元程序/元服务
    • (九)鸿蒙FA/PA设计案例(畅联通话)
    • (十)关键技术:分布式调用、状态迁移/同步
    • (十一)关键技术:分布式应用包结构
  • 二、鸿蒙应用开发指南
    • (一)开发指南网址
    • (二)通用开发历程
  • 三、鸿蒙操作系统概述
    • (一)系统定义
      • 1、系统定位
      • 2、技术架构
        • (1)内核层
        • (2)系统服务层
        • (3)框架层
        • (4)应用层
    • (二)技术特性
      • 1、硬件互助,资源共享
      • (1)分布式软总线
        • (2)分布式设备虚拟化
        • (3)分布式数据管理
      • (4)分布式任务调度
      • 2、一次开发,多端部署
      • 3、统一OS,弹性部署
    • (三)系统安全
      • 1、正确的人
      • 2、正确的设备
      • 3、正确地使用数据
  • 四、HarmonyOS社区运营规划
  • 五、思考题
  • 六、本讲总结
  • 七、学习推荐

在这里插入图片描述

赞鸿蒙系统

美帝卡脖莫须惊,
自有华为舞娉婷。
鸿蒙出世全场景,
伴君东西万里行。

东西南北看中华,
昂首岂惧美帝压。
鸿蒙扬鞭激壮志,
神州处处绽春花。

四通八达地球村,
川流不息度晨昏。
华为鸿蒙震乾坤,
新丰美酒醉芳魂。

三更灯火五更鸡,
河图八卦未可期。
春风又绿江南岸,
梅香四溢柳相依。

2022年1月17日。

零、本讲学习目标

  1. 了解HarmonyOS的相关概念和产品定位
  2. 了解HarmonyOS的技术架构
  3. 了解HarmonyOS的关键特性

一、鸿蒙系统理念与关键技术

(一)智能终端产业飞速发展带来历史性机遇

在这里插入图片描述

(二)HarmonyOS+超级终端,带给消费者的不一样

在这里插入图片描述

(三)HarmonyOS 开启万物互联时代的一把钥匙

在这里插入图片描述

(四)支持“超级终端”的HarmonyOS抽象模型与关键技术

在这里插入图片描述

(五)HarmonyOS 架构简介

在这里插入图片描述

(六)HarmonyOS分布式用户服务的基础:原子化的元程序/元服务

在这里插入图片描述

(七)元程序/元服务是超级终端的基础应用结构

在这里插入图片描述

(八)如何开发用于分布式服务的元程序/元服务

在这里插入图片描述

(九)鸿蒙FA/PA设计案例(畅联通话)

在这里插入图片描述

(十)关键技术:分布式调用、状态迁移/同步

在这里插入图片描述

(十一)关键技术:分布式应用包结构

在这里插入图片描述

二、鸿蒙应用开发指南

(一)开发指南网址

  • 网址:https://developer.harmonyos.com/cn/docs/documentation/doc-guides/develop-overview-0000001071291809
    在这里插入图片描述

(二)通用开发历程

  • 各类设备(手机/平板、智能穿戴、智慧屏等)通用的用户应用程序开发历程如下表所示。

在这里插入图片描述

三、鸿蒙操作系统概述

(一)系统定义

1、系统定位

HarmonyOS是一款面向万物互联时代的、全新的分布式操作系统。在传统的单设备系统能力基础上,HarmonyOS提出了基于同一套系统能力、适配多种终端形态的分布式理念,能够支持手机、平板、智能穿戴、智慧屏、车机等多种终端设备,提供全场景(移动办公、运动健康、社交通信、媒体娱乐等)业务能力。

HarmonyOS有三大特征:

  • 搭载该操作系统的设备在系统层面融为一体、形成超级终端,让设备的硬件能力可以弹性扩展,实现设备之间硬件互助,资源共享。对消费者而言,HarmonyOS能够将生活场景中的各类终端进行能力整合,实现不同终端设备之间的快速连接、能力互助、资源共享,匹配合适的设备、提供流畅的全场景体验。

  • 面向开发者,实现一次开发,多端部署。对应用开发者而言,HarmonyOS采用了多种分布式技术,使应用开发与不同终端设备的形态差异无关,从而让开发者能够聚焦上层业务逻辑,更加便捷、高效地开发应用。

  • 一套操作系统可以满足不同能力的设备需求,实现统一OS,弹性部署。对设备开发者而言,HarmonyOS采用了组件化的设计方案,可根据设备的资源能力和业务特征灵活裁剪,满足不同形态终端设备对操作系统的要求。

HarmonyOS提供了支持多种开发语言的API,供开发者进行应用开发。支持的开发语言包括Java、XML(Extensible Markup Language)、C/C++ 、 JS(JavaScript)、CSS(Cascading Style Sheets)和HML(HarmonyOS Markup Language)。

2、技术架构

HarmonyOS整体遵从分层设计,从下向上依次为:内核层、系统服务层、框架层和应用层。系统功能按照“系统 > 子系统 > 功能/模块”逐级展开,在多设备部署场景下,支持根据实际需求裁剪某些非必要的子系统或功能/模块。HarmonyOS技术架构如下所示。
在这里插入图片描述

(1)内核层

  • 内核子系统:HarmonyOS采用多内核设计,支持针对不同资源受限设备选用适合的OS内核。内核抽象层(KAL,Kernel Abstract Layer)通过屏蔽多内核差异,对上层提供基础的内核能力,包括进程/线程管理、内存管理、文件系统、网络管理和外设管理等。
  • 驱动子系统:硬件驱动框架(HDF)是HarmonyOS硬件生态开放的基础,提供统一外设访问能力和驱动开发、管理框架。

(2)系统服务层

系统服务层是HarmonyOS的核心能力集合,通过框架层对应用程序提供服务。该层包含以下几个部分:

  • 系统基本能力子系统集:为分布式应用在HarmonyOS多设备上的运行、调度、迁移等操作提供了基础能力,由分布式软总线、分布式数据管理、分布式任务调度、方舟多语言运行时、公共基础库、多模输入、图形、安全、AI等子系统组成。其中,方舟运行时提供了C/C++/JS多语言运行时和基础的系统类库,也为使用方舟编译器静态化的Java程序(即应用程序或框架层中使用Java语言开发的部分)提供运行时。
  • 基础软件服务子系统集:为HarmonyOS提供公共的、通用的软件服务,由事件通知、电话、多媒体、DFX(Design For X) 、MSDP&DV等子系统组成。
  • 增强软件服务子系统集:为HarmonyOS提供针对不同设备的、差异化的能力增强型软件服务,由智慧屏专有业务、穿戴专有业务、IoT专有业务等子系统组成。
  • 硬件服务子系统集:为HarmonyOS提供硬件服务,由位置服务、生物特征识别、穿戴专有硬件服务、IoT专有硬件服务等子系统组成。

根据不同设备形态的部署环境,基础软件服务子系统集、增强软件服务子系统集、硬件服务子系统集内部可以按子系统粒度裁剪,每个子系统内部又可以按功能粒度裁剪。

(3)框架层

框架层为HarmonyOS应用开发提供了Java/C/C++/JS/TS等多语言的用户程序框架和Ability框架,两种UI框架(包括适用于Java语言的Java UI框架、适用于JS/TS语言的方舟开发框架),以及各种软硬件服务对外开放的多语言框架API。根据系统的组件化裁剪程度,HarmonyOS设备支持的API也会有所不同。

(4)应用层

应用层包括系统应用和第三方非系统应用。HarmonyOS的应用由一个或多个FA(Feature Ability)或PA(Particle Ability)组成。其中,FA有UI界面,提供与用户交互的能力;而PA无UI界面,提供后台运行任务的能力以及统一的数据访问抽象。FA在进行用户交互时所需的后台数据访问也需要由对应的PA提供支撑。基于FA/PA开发的应用,能够实现特定的业务功能,支持跨设备调度与分发,为用户提供一致、高效的应用体验。

(二)技术特性

1、硬件互助,资源共享

多种设备之间能够实现硬件互助、资源共享,依赖的关键技术包括分布式软总线、分布式设备虚拟化、分布式数据管理、分布式任务调度等。

(1)分布式软总线

在这里插入图片描述

(2)分布式设备虚拟化

在这里插入图片描述

(3)分布式数据管理

在这里插入图片描述

(4)分布式任务调度

在这里插入图片描述

2、一次开发,多端部署

HarmonyOS提供了用户程序框架、Ability框架以及UI框架,支持应用开发过程中多终端的业务逻辑和界面逻辑进行复用,能够实现应用的一次开发、多端部署,提升了跨设备应用的开发效率。

其中,UI框架支持使用Java、JS、TS语言进行开发,并提供了丰富的多态控件,可以在手机、平板、智能穿戴、智慧屏、车机上显示不同的UI效果。采用业界主流设计方式,提供多种响应式布局方案,支持栅格化布局,满足不同屏幕的界面适配能力。

一次开发、多端部署示意图:
在这里插入图片描述

3、统一OS,弹性部署

HarmonyOS通过组件化和小型化等设计方法,支持多种终端设备按需弹性部署,能够适配不同类别的硬件资源和功能需求。支撑通过编译链关系去自动生成组件化的依赖关系,形成组件树依赖图,支撑产品系统的便捷开发,降低硬件设备的开发门槛。

  • 支持各组件的选择(组件可有可无):根据硬件的形态和需求,可以选择所需的组件。
  • 支持组件内功能集的配置(组件可大可小):根据硬件的资源情况和功能需求,可以选择配置组件中的 功能集。例如,选择配置图形框架组件中的部分控件。
  • 支持组件间依赖的关联(平台可大可小):根据编译链关系,可以自动生成组件化的依赖关系。例如,选择图形框架组件,将会自动选择依赖的图形引擎组件等。

(三)系统安全

在搭载HarmonyOS的分布式终端上,可以保证“正确的人,通过正确的设备,正确地使用数据”。

  • 通过“分布式多端协同身份认证”来保证“正确的人”。
  • 通过“在分布式终端上构筑可信运行环境”来保证“正确的设备”。
  • 通过“分布式数据在跨终端流动的过程中,对数据进行分类分级管理”来保证“正确地使用数据”。

1、正确的人

  • 零信任模型:HarmonyOS基于零信任模型,实现对用户的认证和对数据的访问控制。当用户需要跨设备访问数据资源或者发起高安全等级的业务操作(例如,对安防设备的操作)时,HarmonyOS会对用户进行身份认证,确保其身份的可靠性。
  • 多因素融合认证:HarmonyOS通过用户身份管理,将不同设备上标识同一用户的认证凭据关联起来,用于标识一个用户,来提高认证的准确度。
  • 协同互助认证:HarmonyOS通过将硬件和认证能力解耦(即信息采集和认证可以在不同的设备上完成),来实现不同设备的资源池化以及能力的互助与共享,让高安全等级的设备协助低安全等级的设备完成用户身份认证。

2、正确的设备

  • 安全启动:确保源头每个虚拟设备运行的系统固件和应用程序是完整的、未经篡改的。通过安全启动,各个设备厂商的镜像包就不易被非法替换为恶意程序,从而保护用户的数据和隐私安全。
  • 可信执行环境:提供了基于硬件的可信执行环境(TEE,Trusted Execution Environment)来保护用户的个人敏感数据的存储和处理,确保数据不泄露。由于分布式终端硬件的安全能力不同,对于用户的敏感个人数据,需要使用高安全等级的设备进行存储和处理。HarmonyOS使用基于数学可证明的形式化开发和验证的TEE微内核,获得了商用OS内核CC EAL5+的认证评级。
    在这里插入图片描述
  • 设备证书认证:支持为具备可信执行环境的设备预置设备证书,用于向其他虚拟终端证明自己的安全能力。对于有TEE环境的设备,通过预置PKI(Public Key Infrastructure)设备证书给设备身份提供证明,确保设备是合法制造生产的。设备证书在产线进行预置,设备证书的私钥写入并安全保存在设备的TEE环境中,且只在TEE内进行使用。在必须传输用户的敏感数据(例如密钥、加密的生物特征等信息)时,会在使用设备证书进行安全环境验证后,建立从一个设备的TEE到另一设备的TEE之间的安全通道,实现安全传输。

3、正确地使用数据

  • 数据生成:根据数据所在的国家或组织的法律法规与标准规范,对数据进行分类分级,并且根据分类设置相应的保护等级。每个保护等级的数据从生成开始,在其存储、使用、传输的整个生命周期都需要根据对应的安全策略提供不同强度的安全防护。虚拟超级终端的访问控制系统支持依据标签的访问控制策略,保证数据只能在可以提供足够安全防护的虚拟终端之间存储、使用和传输。
  • 数据存储:HarmonyOS通过区分数据的安全等级,存储到不同安全防护能力的分区,对数据进行安全保护,并提供密钥全生命周期的跨设备无缝流动和跨设备密钥访问控制能力,支撑分布式身份认证协同、分布式数据共享等业务。
  • 数据使用:HarmonyOS通过硬件为设备提供可信执行环境。用户的个人敏感数据仅在分布式虚拟终端的可信执行环境中进行使用,确保用户数据的安全和隐私不泄露。
  • 数据传输:为了保证数据在虚拟超级终端之间安全流转,需要各设备是正确可信的,建立了信任关系(多个设备通过华为帐号建立配对关系),并能够在验证信任关系后,建立安全的连接通道,按照数据流动的规则,安全地传输数据。当设备之间进行通信时,需要基于设备的身份凭据对设备进行身份认证,并在此基础上,建立安全的加密传输通道。
  • 数据销毁:销毁密钥即销毁数据。数据在虚拟终端的存储,都建立在密钥的基础上。当销毁数据时,只需要销毁对应的密钥即完成了数据的销毁。

四、HarmonyOS社区运营规划

在这里插入图片描述

五、思考题

  1. (判断题)通过HarmonyOS的分布式数据管理技术,能够让开发者轻松实现全场景、多设备下的数据存储、共享和访问。( )
    A. 正确
    B. 错误
  2. (多选题)HarmonyOS支持根据( )来实现组件弹性部署。
    A. 硬件价格
    B. 硬件形态和需求
    C. 硬件资源情况和功能需求
    D. 编译链关系

六、本讲总结

讲述了HarmonyOS的相关概念,介绍了HarmonyOS的设计理念和技术架构,了解了HarmonyOS全场景系统的关键特性,帮助大家认识全新的“面向未来”的HarmonyOS操作系统。

七、学习推荐

  1. HarmonyOS官网社区:https://www.harmonyos.com/cn/home/
  2. HarmonyOS应用开发文档:https://developer.harmonyos.com/cn/home/
  3. HarmonyOS设备开发文档:https://device.harmonyos.com/cn/home/
  4. OpenHarmony开源地址:https://gitee.com/openharmony
  5. 华为人才在线:https://e.huawei.com/cn/talent/#/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/23244.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

OpenHarmony轻量系统开发【12】OneNET云接入

摘要:本文简单介绍如何接入OneNET云平台适合群体:适用于润和Hi3861开发板 文中所有代码仓库:OpenHarmony润和3861智能家居套件代码仓库: 润和3861智能家居套件代码仓库 12.1 OneNET云介绍 通常来说,一个物联网产品应当包括设备、…

【鸿蒙 HarmonyOS】UI 组件 ( 文本输入框 TextField 组件 )

文章目录 一、布局中设置 TextField 组件二、代码中获取并设置 TextField 组件 一、布局中设置 TextField 组件 TextField 组件是文本输入框 , 允许用户在界面中输入指定的文字信息 ; 布局文件中配置 TextField 组件 : <?xml version"1.0" encoding"utf-8…

【鸿蒙 HarmonyOS】HarmonyOS 开发环境搭建 ( 下载 | 安装 | 启动 | 支持的设备与开发语言 )

文章目录 一、HarmonyOS 开发环境下载二、HarmonyOS 开发环境安装三、启动 DevEco Studio四、HarmonyOS 支持的设备与开发语言 一、HarmonyOS 开发环境下载 HarmonyOS 开发者相关网站 : HarmonyOS 开发者官网 : https://developer.harmonyos.com/cn/home/HarmonyOS 开发文档 :…

harmonyos鸿蒙,HarmonyOS鸿蒙之设置圆角

1、同时设置四个角 a、静态设置 graphic下新建 background_supertext_red.xml ohos:shape="rectangle"> ohos:color="$color:white"/> ohos:width="2" ohos:color="$color:red"/> ohos:radius="20"/> layout.xm…

Appium:配置华为手机鸿蒙HarmonyOS系统参数

简介&#xff1a;安卓手机厂商林立造成的各系统占山为王&#xff0c;差异大&#xff0c;难以获取相关参数。HarmonyOS本质是基于安卓进行的封装优化。 获取方式有两种&#xff0c;推荐方式2 方式1&#xff1a; 鸿蒙安卓版本号&#xff1a;进入应用和服务 - 应用管理 - 搜索&…

鸿蒙开发实例 | 为什么选择HarmonyOS?

2020年9月&#xff0c;华为发布了鸿蒙操作系统&#xff08;HarmonyOS&#xff09;2.0&#xff0c;并发布了其开源版本OpenHarmony。从此&#xff0c;鸿蒙操作系统的面纱终于被揭开了。作为国人期待已久的操作系统&#xff0c;鸿蒙不仅承载着华为软件生态的未来&#xff0c;也代…

鸿蒙应用开发学习|HarmonyOS工程介绍

系列文章目录 第一章 HarmonyOS是什么 第二章 基础环境和开发工具 文章目录 系列文章目录前言一、HarmonyOS工程介绍二、工程目录结构三、工程目录介绍1.entry2.Ability3.库文件4.资源文件5.配置文件6.pack.info7.HAR 总结 前言 本文将会给大家梳理 HarmonyOS 源码目录结构&a…

【HarmonyOS】小熊派鸿蒙系统搭建

文章目录 一、BearPi-HM Micro 开发板介绍二、Linux镜像下载三、BearPi-HM Micro编译环境配置1.首先添加如下镜像源2.更新镜像源3.安装依赖库及工具4.安装hb5.测试hb是否安装成功 四、安装mkimage工具1.新建tools目录2.下载mkimage.stm32工具到~/tools目录&#xff0c;并复制到…

鸿蒙、OpenHarmony、HarmonyOS傻傻的分不清楚。。。看这篇就够了

很多人对鸿蒙、OpenHarmony、HarmonyOS这些术语傻傻的分不清楚&#xff0c;那么本文就做一些解答。 6月4日&#xff0c;华为发布了《关于规范HarmonyOS沟通口径的通知》&#xff08;以下简称《通知》&#xff09;&#xff0c;原文在网上都能搜到&#xff0c;这里就不贴了。本人…

OpenHarmony开源鸿蒙与HarmonyOS商业鸿蒙的区别

OpenHarmony开源鸿蒙与HarmonyOS商业鸿蒙的区别 一、本是同根生 最近鸿蒙开发越来越火&#xff0c;特别是因为开源鸿蒙的存在&#xff0c;很多系统开发&#xff0c;直接使用OpenHarmony。 但是初学者很容易把HarmonyOS商业鸿蒙和开源鸿蒙弄混。 首先我们聊一下这两者的关系&a…

【鸿蒙 HarmonyOS】UI 组件 ( Button 组件 )

文章目录 一、布局文件中设置 Button 组件属性二、代码中修改 Button 组件属性三、Button 点击事件四、完整代码示例五、执行结果六、GitHub 地址 一、布局文件中设置 Button 组件属性 Button 组件是在 UI 界面中的按钮组件 , 重要的用户交互接口 ; 布局文件中设置 Button : B…

Android Studio连接Huawei Matepad harmonyOS真机调试

一、开发环境 NO项目说明 1PC开发操作系统Windows10_64bit2Android stuidiov4.23Huawei Metapad 10.4HarmonyOS2.0 备注&#xff1a;PC和移动设备需要在同一wifi下 二、操作Huawei Matepad进入开发者模式 1、设置->关与平板电脑->版本号&#xff0c;双击版本号进入开发者…

鸿蒙应用开发学习路线(OpenHarmony/HarmonyOS)

鸿蒙应用开发学习路线&#xff08;OpenHarmony/HarmonyOS&#xff09; HarmonyOS应用开发学习路线网站汇总社区汇总视频学习路线 OpenHarmony应用开发学习路线与资料网站汇总社区汇总学习路线 MarkDown工具推荐 HarmonyOS应用开发学习路线 作者&#xff1a;坚果 团队&#xff1…

鸿蒙(HarmonyOS)支持低代码开发,无需HTML知识,就可以设计复杂界面

鸿蒙的最新IDE支持可视化开发。几乎不需要编写一行代码&#xff0c;就可以设计非常复杂的界面。当然&#xff0c;如果要实现业务逻辑&#xff0c;还是需要编写代码的。所以我们把这些功能称为低代码开发&#xff0c;也就是说&#xff0c;可以让我们少编写一些代码。 本文将详细…

元宇宙群涉及到技术

元宇宙六大核心技术包括&#xff1a; 1、物联网技术&#xff1a;分为感知层、网络层、应用层&#xff1b; 2、区块链技术&#xff1a;算法及时间戳技术、数据传播及验证技术、共识机制、分布式存储、智能合约、分布式账本等&#xff1b; 3、交互技术&#xff1a;VR虚拟现实技…

元宇宙与ChatGPT结合 一场颠覆式场景革命或将到来?

元宇宙和ChatGPT都是当前数字化领域中非常热门的技术和应用&#xff0c;两者之间也存在一定的关系&#xff0c;结合起来&#xff0c;可以为企业提供更加智能化、个性化的服务和支持&#xff0c;同时也可以拓展企业的市场和品牌影响力&#xff0c;提高企业的效率和创新能力。 元…

阿里上线文本生成视频大模型;微软GitHub引入OpenAI聊天功能;谷歌Bard被指抄袭媒体文章丨每日大事件...

‍ ‍数据智能产业创新服务媒体 ——聚焦数智 改变商业 企业动态 阿里达摩院上线“文本生成视频大模型” 近日&#xff0c;阿里达摩院已在AI模型社区“魔搭”ModelScope上线了“文本生成视频大模型”。根据官方介绍&#xff0c;目前文本生成视频大模型&#xff0c;由文本特征提…

酷开科技智能大屏生态,赋能RISC-V发展

3月2日&#xff0c;由阿里巴巴平头哥举办的首届玄铁RISC-V生态大会在上海举行。英特尔、谷歌、Canonical、Imagination、海尔、支付宝、网易有道、酷开科技等全球数百家企业及机构代表齐聚一堂&#xff0c;成为中国RISC-V发展史上规模最大的一次会议。 RISC-V是基于精简指令集…

认识 微内核架构

微内核架构 1 说明背景 关于宏内核、微内核、混合内核&#xff0c;都是相对而言的概念。 宏内核: 通用的操作系统&#xff0c;将操作系统内核的所有模块放置在内核态运行&#xff0c;具备直接操作硬件的能力。例如 UNIX/Linux, FreeBSD 等微内核: 简单的操作系统&#xff0c;…

一条可以让chatGTP输出图片的指令

一条可以让chatGTP输出图片的指令 接下来我会给你指令&#xff0c;生成相应的图片&#xff0c;我希望你用Markdown语言生成&#xff0c;不要用反引号&#xff0c;不要用代码框&#xff0c;你需要用Unsplash API&#xff0c;遵循以下的格式&#xff1a;https://source.unsplash…