【华为鸿蒙系统学习】- HarmonyOS4.0开发|自学篇

🌈个人主页: Aileen_0v0
🔥热门专栏: 华为鸿蒙系统学习|计算机网络|数据结构与算法
💫个人格言:"没有罗马,那就自己创造罗马~"


目录

HarmonyOS 4.0 技术介绍:

HarmonyOS三大特征:

    1.实现硬件互助,资源共享。

     2. 面向开发者,实现一次开发,多端部署。

 3.一套操作系统可以满足不同能力的设备需求,实现统一OS,弹性部署。

HarmonyOS技术架构:

内核层

框架层和系统服务层

应用层

HarmonyOS技术特性:

1.硬件互助,资源共享

(1)分布式软总线 - 万物互联接口

(2)分布式设备虚拟化  - 集优于一体

(3)分布式数据管理 - 数据共享

​(4)分布式任务调度 - 跨设备使用应用

(5)分布式连接能力 

2.一次开发,多端部署

3.统一OS,弹性部署

📝本节小结


HarmonyOS 4.0 技术介绍

鸿蒙OS 4.0(HarmonyOS 4.0)是华为推出的一款全场景、分布式操作系统。鸿蒙4.0是其最新版本,于2023年8月4日发布,主要包括全新UI设计、多设备协同、语音交互等功能。它旨在为不同类型的智能设备提供统一的操作系统,从智能手机和平板电脑到智能家居设备和汽车等,都可以使用同一个操作系统。鸿蒙OS使用分布式技术,可以在(手机、平板、智能穿戴、智慧屏、车机、PC、智能音箱、耳机、AR/VR 眼镜等多种不同终端设备)实现协同操作和资源共享提升设备间的互联互通能力。此外,鸿蒙OS还支持多种开发语言和技术,为开发者提供了更多的灵活性和选择余地。


HarmonyOS三大特征:

    1.实现硬件互助,资源共享。

能够将生活场景中的各类终端进行能力整合,形成一个超级虚拟终端,可以实现不同的终端设备之间的快速连接、能力互助、资源共享,匹配合适的设备,提供流畅的全场景体验。能够让多设备通信能力共享,让手机、手表、电脑等通过NFC功能共享转移任务。

     2. 面向开发者,实现一次开发,多端部署。

对开发者来说,HarmonyoS 采用多种分布式技术,使应用开发与不同终端设备的形态差异无关,从而让开发者能够聚焦上层业务逻辑,更加便捷、高效地开发应用。

分布式技术:是一种系统组成模式,它把分布在不同地址的计算机通过通信网络互联在一起,组成一个计算机群,协同完成各种计算任务。

  1. 减少开发成本和工作量。鸿蒙系统具备分布式架构的特点,可以支持全系列设备,包括智能手机、平板电脑、智能穿戴、智能家居等,开发者无需针对不同的设备进行独立开发只需要一套代码就可以同时适配多种设备
  2. 提升应用性能和稳定性。鸿蒙操作系统采用了微内核架构,具有高效的资源管理和隔离机制,可以有效提升应用的性能和稳定性。
  3. 实现商业化运营。鸿蒙还为开发者提供了多种变现方式,包括应用内购买、广告投放等,帮助开发者实现商业化运营

 3.一套操作系统可以满足不同能力的设备需求,实现统一OS,弹性部署。

对设备开发者来说,Harmonyos采用了组件化的设计方案,可根据设备的资源能力和业务特征灵活裁剪,满足不同形态终端设备对操作系统的要求

Harmonyos提供了支持多种开发语言的 API,供开发者进行应用开发。支持的开发语言包括ArkTS(华为官方推荐-方舟)JS(JavaScript)C/C++ Java


HarmonyOS技术架构:

鸿蒙系统遵从分层设计,由下至上为:内核层,系统服务层,框架层,应用层。

系统功能按照“系统> 子系统 > 功能/模块逐级展开,在多设备部署下,支持开发者根据实际需求裁剪非必要的子系统/模块。

HarmonyOS技术框架视图如下:

内核层

内核层包括内核子系统驱动子系统。

内核层的内核子系统提供各种各样的内核给各种设备进行切换,从而与系统适配多个内核子系统对外提供了API抽象(叫做KAL)接口,使得我们能够在手机,家电设备或者是非常小的单片机上安装HarmonyOS操作系统

Linux内核供应标准设备提供接口(eg:手机)。

liteOS是为内存很小,无需大内核的设备提供接口(eg:家电,汽车设备)。  

驱动子系统:为所有的设备厂商提供HDF(硬件驱动框架)---硬件厂商基于HDF这个驱动框架开发出属于我们这个芯片或设备的驱动,就可以直接应用到HarmonyOS操作系统中所有的厂商都有一个对厂商提供驱动的框架。


框架层和系统服务层

框架层和系统服务层的作用:由HarmonyOS为所有的程序员提供API的调用以及SDK的调用,从而做到系列化的密度管理,插件调用

eg:通过调用UI框架设计用户界面


应用层

应用层包括系统应用和第三方非系统应用。(eg:微信就是应用层的)


HarmonyOS技术特性:

1.硬件互助,资源共享

多种设备之间能够实现硬件互助、资源共享,依赖的关键技术(5方面包括:

分布式软总线分布式设备虚拟化分布式数据管理分布式任务调度等

(1)分布式软总线 - 万物互联接口

分布式软总线:为提供统一的设备之间连接通信的API

分布式软总线示意图如下:

典型应用场景:

(a)智能家居场景:

(b)多屏联动课堂:

(2)分布式设备虚拟化  - 集优于一体

分布式设备虚拟化平台可以实现不同设备的资源融合、设备管理、数据处理多种设
备共同形成
一个超级虚拟终端。针对不同类型的任务,为用户匹配并选择能力合适的执行
硬件,让业务连续地在不同设备间流转,充分发挥不同设备的能力优势,如显示能力、摄
像能力、音频能力、交互能力以及传感器能力
等。

分布式设备虚拟化示意图如下:

典型应用场景:

(a)视频通话场景:在做家务时接听视频电话,可以将手机与智慧屏连接,并将智慧屏的
屏幕、摄像头与音箱
虚拟化为本地资源,替代手机自身的屏幕、摄像头、听筒与扬声
实现一边做家务、一边通过智慧屏和音箱来视频通话


(b) 游戏场景:在智慧屏上玩游戏时,可以将手机虚拟化为遥控器借助手机的重力传感
器、加速度传感器、触控能力,
为玩家提供更便捷、更流畅的游戏体验。 

(3)分布式数据管理 - 数据共享

分布式数据管理基于分布式软总线的能力,实现应用程序数据和用户数据的分布式管
理。
 

分布式数据管理示意图如下:

协同办公场景:

将设计文档直接投屏到智慧屏,在智慧屏进行文档的修改操作可以在手机上同步显示

(4)分布式任务调度 - 跨设备使用应用

分布式任务调度基于分布式软总线、分布式数据管理、分布式 Profile 等技术特性,
构建统一的分布式服务管理(发现、同步、注册、调用)机制支持对跨设备的应用进行
远程启动、远程调用、远程连接以及迁移等操作
,能够根据不同设备的能力、位置、业务
运行状态、资源使用情况,以及用户的习惯和意图,选择合适的设备运行分布式任务

下图以应用迁移为例,简要地展示了分布式任务调度能力。

典型应用场景举例:
导航场景:

(a)如果用户驾车出行,

上车前,在手机规划好导航路线;

上车后,导航自动迁移到车机和车载音箱;

下车后,导航自动迁移回手机。

(b)如果用户骑车出行,在手机规划好导航路线,骑行时手表可以接续导航

外卖场景

手机上点外卖后,可以将订单信息迁移到手表上,随时查看外卖的配送
状态
。 

(5)分布式连接能力 

分布式连接能力提供了智能终端底层和应用层的连接能力通过 USB 接口共享

终端部分硬件资源和软件能力。

开发者基于分布式连接能力,可以开发相应形态的生态产品为消费者提供更丰富的连接体验。

分布式连接能力示意图如下:


2.一次开发,多端部署


HarmonyOS 提供了用户程序框架、Ability 框架以及 UI 框架(使用栅格化布局),支持应用开发过程中多终端的业务逻辑和界面逻辑进行复用,能够实现应用的一次开发、多端部署,提升了跨设备应用的开发效率。- 这些框架可以让我们开发好应用程序App以后在多种设备上进行部署。开发好的APP可以在不同设备进行安装使用

栅格化布局:开发出来的网页可以自动适应横竖屏页面

一次开发、多端部署示意图见下图

3.统一OS,弹性部署


HarmonyOS 通过组件化和小型化等设计方法,支持多种终端设备按需弹性部署,能够适配不同类别的硬件资源和功能需求。

支持各组件的选择(组件可有可无):根据硬件的形态和需求,可以选择所需的组件。
支持组件内功能集的配置(组件可大可小):根据硬件的资源情况和功能需求,可以
选择配置组件中的功能集。例如,选择配置图形框架组件中的部分控件。

支持组件间依赖的关联(平台可大可小):根据编译链关系,可以自动生成组件化的
依赖关系。例如,选择图形框架组件,将会自动选择依赖的图形引擎组件等。

📝本节小结

组件不是简单的组件,而是基于HarmonyOS开发的组件,后面会继续学习~

本篇博客主要介绍了华为的鸿蒙系统(HarmonyOS4.0)的

发布,三大特征,技术架构,技术特性

喜欢的小伙伴请多多支持!

这里是Aileen

一名不断学习

的♀大学生

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【LeetCode热题100】【滑动窗口】找到字符串中所有字母异位词

给定两个字符串 s 和 p,找到 s 中所有 p 的 异位词 的子串,返回这些子串的起始索引。不考虑答案输出的顺序。 异位词 指由相同字母重排列形成的字符串(包括相同的字符串)。 示例 1: 输入: s "cbaebabacd", p "…

运营商二要素API:验证姓名和手机号码一致性的关键工具

前言 在当今数字化时代,手机号码已成为人们日常生活中不可或缺的一部分。然而,由于各种原因,姓名和手机号码往往并非完全匹配。为了解决这一问题,运营商二要素API应运而生,它能够验证姓名和手机号码是否一致&#xff…

《Vue.js设计与实现》—Vue3响应系统的原理

一、响应式数据与副作用函数 1. 副作用函数 1-1 指令材料 在JavaScript中,副作用函数是指在执行过程中对外部环境产生可观察的变化或影响的函数。这种函数通常会修改全局变量、修改传入的参数、执行I/O操作(如读写文件或发送网络请求)、修…

四十三、Redis基础

目录 一、认识NoSql 1、定义: 2、常见语法 3、与关系型数据库(SQL)的区别: 二、认识Redis 1、定义: 2、特征: 3、Key的结构: 三、安装Redis 四、Redis常见命令 1、数据结构介绍 2、…

Hive HWI 配置

前言 1、下载安装好hive后,发现hive有hwi界面功能,研究下是否可以运行,于是使用hive –service hwi命令启动hwi界面报错。 启动hwi功能 2、访问192.168.126.110:9999/hwi,发现访问错误 一、HWI介绍 HWI(Hive Web Int…

gRPC .net学习

学习helloworld server用.net client有.net的控制台 和 unity server端 直接使用vs2022创建(需自行看有无装asp.net哦),搜索gPRC,使用6.0吧,创建工程后直接F5跑起来,服务端到此完成 .net控制台client,创建新的控制台,使用NuGet,然后导入server端的Protos文件夹 学…

[C++] STL_priority_queue(优先级队列) 的使用及底层的模拟实现,容器适配器,deque的原理介绍

文章目录 1、priority_queue1.1 priority_queue的介绍和使用1.2 priority_queue的使用模拟实现: 2、容器适配器2.1 什么是适配器2.2 STL标准库中stack和queue的底层结构 3、deque3.1 deque的原理介绍3.2 deque的缺陷 4、为什么选择deque作为stack和queue的底层默认容…

11月客户文章盘点——累计IF 150.5

凌恩生物以打造国内一流生物公司为目标,在科研测序领域深耕不辍,吸纳多名在生物信息高级技术人员的加盟,参与并完成多个高科技项目。现已在宏组学、基因组、表观遗传以及蛋白代谢等多组学及联合分析领域积累了深厚经验,打造出成熟…

Qt图形设计

#include "mywidget.h"MyWidget::MyWidget(QWidget *parent): QWidget(parent) {//窗口相关设置//设置窗口标题this->setWindowTitle("王者荣耀");//设置窗口图标this->setWindowIcon(QIcon("C:\\Users\\28033\\Pictures\\Saved Pictures\\pict…

STM32超声波——HC_SR04

文章目录 一.超声波图片二.时序图三.超声波流程四.单位换算五.取余计算六.换算距离七.超声波代码 一.超声波图片 测量距离:2cm——400cm 二.时序图 (1).以下时序图要先提供一个至少10us的脉冲触发信号,告诉单片机我准备好了,然后该超声波…

最简单的pixel刷机和安装面具、lsposed

一 下载手机对应的系统 1,手机usb连接然后重启进入Fastboot模式:adb reboot bootloader2,找到你下载的系统,Windows 系统 直接运行 flash-all.bat上图 :左边就是安卓11和12的系统,右边是对应的手机型号 下…

思科最新版Cisco Packet Tracer 8.2.1安装

思科最新版Cisco Packet Tracer 8.2.1安装 一. 注册并登录CISCO账号二. 下载 Cisco Packet Tracer 8.2.1三. 安装四. 汉化五. cisco packet tracer教学文档六. 正常使用图 前言 这是我在这个网站整理的笔记,有错误的地方请指出,关注我,接下来还会持续更新…

【LeetCode:1631. 最小体力消耗路径 | BFS + 二分】

🚀 算法题 🚀 🌲 算法刷题专栏 | 面试必备算法 | 面试高频算法 🍀 🌲 越难的东西,越要努力坚持,因为它具有很高的价值,算法就是这样✨ 🌲 作者简介:硕风和炜,…

西南科技大学数字电子技术实验三(MSI逻辑器件设计组合逻辑电路及FPGA的实现)FPGA部分

一、实验目的 进一步掌握MIS(中规模集成电路)设计方法。通过用MIS译码器、数据选择器实现电路功能,熟悉它们的应用。进一步学习如何记录实验中遇到的问题及解决方法。二、实验原理 1、4位奇偶校验器 Y=S7i=0DiMi D0=D3=D5=D6=D D1=D2=D4=D7= `D 2、组合逻辑电路 F=A`B C …

ssm基于面向对象的学生事务处理系统分析与设计论文

摘 要 现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据信息的管理升级为软件存储,归纳,集中处理数据信息的管理方式。本学生事务处理系统就是在这样的大环境下诞生,其可以帮助管理者在短时间内处理完毕庞大的数据信息…

python+gdal地理坐标转投影坐标

1 前言 地理坐标系,是使用三维球面来定义地球表面位置,以实现通过经纬度对地球表面点位引用的坐标系。 地理坐标系经过地图投影操作后就变成了投影坐标系。而地图投影是按照一定的数学法则将地球椭球面上点的经维度坐标转换到平面上的直角坐标。 2 流程…

RabbitMQ学习二

RabbitMQ学习二 发送者的可靠性生产者连接重试机制生产者确认机制开启生产者确认定义ReturnCallback定义confirmCallback MQ的可靠性交换机和队列持久化消息持久化LazyQueue控制台配置Lazy模式代码配置Lazy模式 消费者的可靠性失败重试机制失败处理策略业务幂等性唯一消息ID业务…

Hiera实战:使用Hiera实现图像分类任务(二)

文章目录 训练部分导入项目使用的库设置随机因子设置全局参数图像预处理与增强读取数据设置Loss设置模型设置优化器和学习率调整策略设置混合精度,DP多卡,EMA定义训练和验证函数训练函数验证函数调用训练和验证方法 运行以及结果查看测试完整的代码 在上…

龙良曲PyTorch入门到实战 深度学习

文章目录 笔记激活函数与Loss的梯度lesson5 手写数字识别问题lesson6 基本数据类型lesson7 创建tensorlesson8 索引和切片lesson9 维度变换lesson10 broadcastinglesson11 分割和合并lesson12 数学运算lesson13 Tensor统计lesson14 Tensor高阶lesson16 什么是梯度lesson17 常见…

初识Ceph --组件、存储类型、存储原理

目录 ceph组件存储类型块存储文件存储对象存储 存储过程 ceph Ceph(分布式存储系统)是一个开源的分布式存储系统,设计用于提供高性能、高可靠性和可扩展性的存储服务,可以避免单点故障,支持块存储、对象存储以及文件系…