【华为鸿蒙系统学习】- 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

一名不断学习

的♀大学生

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

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

相关文章

Appium 并行测试多个设备

一、前置说明 在自动化测试中,经常需要验证多台设备的兼容性,Appium可以用同一套测试运例并行测试多个设备,以达到验证兼容性的目的。 解决思路: 查找已连接的所有设备;为每台设备启动相应的Appium Server&#xff1b…

docker的资源控制:

docker的资源控制: 对容器的使用宿主机的资源进行限制 cpu 内存 磁盘i/0 docker使用linux自带的功能cgroup control grouos是linux内核系统提供的一种可以限制,记录,隔离进程所使用的物理资源 control grouos是linux内核系统提供的一种可…

HeartBeat监控Mysql状态

目录 一、概述 二、 安装部署 三、配置 四、启动服务 五、查看数据 一、概述 使用heartbeat可以实现在kibana界面对 Mysql 服务存活状态进行观察,如有必要,也可在服务宕机后立即向相关人员发送邮件通知 二、 安装部署 参照章节:监控组件…

每日一博 - 图解5种Cache策略

文章目录 概述读策略Cache AsideRead Through 写策略Write ThroughWrite AroundWrite Back 使用场景举例 概述 缓存是在系统中存储数据的临时存储器,用于提高访问速度。缓存策略定义了如何在缓存和主存之间管理数据 读策略 Read data from the system: &#x1f5…

vue3原生方法滚动列表

效果图 代码 import { ref, onBeforeUnmount, onUnmounted } from "vue"; //定时器初始化 let timer ref(null); //ref绑定初始化 let roll ref(null); //等同于vue2中的beforeDestroy onBeforeUnmount(() > {//清除定时器clearTimeout(timer.value); }); //等同…

AGI时代探导开发的智能化落地之路:中国企业低代码及无代码应用价值报告V6

今天分享的AGI系列深度研究报告:《AGI时代探导开发的智能化落地之路:中国企业低代码及无代码应用价值报告V6》。 (报告出品方:甲子光年智库) 报告共计:47页 点击添加图片描述(最多60个字&…

机器学习与人工智能:一场革命性的变革

机器学习与人工智能:一场革命性的变革 人工智能的概述什么是机器学习定义解释 数据集结构机器学习应用场景 人工智能的概述 1956年8月,在美国汉诺斯小镇宁静的达特茅斯学院中,约翰麦卡锡(John McCarthy)、马文闵斯基&…

数据链路层的作用和三个基本问题

目录 一. 数据链路层的作用二. 数据链路层解决的三个问题2.1 数据链路和帧2.2 三个基本问题(重要)2.2.1 封装成帧2.2.2 透明传输2.2.3 差错检测 \quad 一. 数据链路层的作用 \quad \quad \quad 光有链路不能传输数据, 还要加上协议, 这样才是数据链路 数据链路层的作用就是负责…

RHEL8_Linux虚拟数据优化器VDO

本章主要介绍虚拟化数据优化器 什么是虚拟数据优化器VDO创建VDO设备以节约硬盘空间 1.了解什么是VDO VDO全称是Virtual Data Optimize(虚拟数据优化),主要是为了节省硬盘空间。 现在假设有两个文件file1和 file2,大小都是10G。file1和 fil…

.NET 材料检测系统崩溃分析

Windbg 分析 1. 到底是哪里的崩溃 一直跟踪我这个系列的朋友应该知道分析崩溃第一个命令就是 !analyze -v ,让windbg帮我们自动化异常分析。 0:033> !analyze -v CONTEXT: (.ecxr) rax00000039cccff2d7 rbx00000039c85fc2b0 rcx00000039cccff2d8 rdx000000000…

洛谷P3807 Lucas定理

传送门: P3807 【模板】卢卡斯定理/Lucas 定理 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)https://www.luogu.com.cn/problem/P3807题干: 给定整数n,m,p 的值,求出C(nm,n)​mod p 的值。 输入数据保证…

5分钟搞懂K8S Pod Terminating/Unknown故障排查

Kubernetes集群中的Pod有时候会进入Terminating或Unknown状态,本文列举了6种可能的原因,帮助我们排查这种现象。原文: K8s Troubleshooting — Pod in Terminating or Unknown Status 有时我们会看到K8S集群中的pod进入"Terminating"或"U…

每日一练【查找总价格为目标值的两个商品】

一、题目描述 题目链接 购物车内的商品价格按照升序记录于数组 price。请在购物车中找到两个商品的价格总和刚好是 target。若存在多种情况,返回任一结果即可。 示例 1: 输入:price [3, 9, 12, 15], target 18 输出:[3,15] …

成都工业学院Web技术基础(WEB)实验一:HTML5排版标签使用

写在前面 1、基于2022级计算机大类实验指导书 2、代码仅提供参考,前端变化比较大,按照要求,只能做到像,不能做到一模一样 3、图片和文字仅为示例,需要自行替换 4、如果代码不满足你的要求,请寻求其他的…

Gemini与GPT-4的巅峰对决:AI界的双壁之战

随着人工智能技术的飞速发展,AI领域的竞争越来越激烈。在这个充满挑战与机遇的时代,两个备受瞩目的AI巨头——Gemini Pro和GPT-4,成为了人们关注的焦点。这两者都以其强大的功能和卓越的性能,引领着AI领域的发展潮流。本文将详细介…

MyBatisX插件

MyBatisX插件 MyBatis-Plus为我们提供了强大的mapper和service模板,能够大大的提高开发效率。 但是在真正开发过程中,MyBatis-Plus并不能为我们解决所有问题,例如一些复杂的SQL,多表联查,我们就需要自己去编写代码和SQ…

connection error;reply-code=503;unknown exchange type ‘x-delayed-message‘

错误原因 这个错误表明你的 RabbitMQ 服务器不认识交换机类型 “x-delayed-message”,这通常是因为你的 RabbitMQ 服务器没有启用 rabbitmq_delayed_message_exchange 插件,或者插件版本与你的 RabbitMQ 服务器不兼容。 解决方法 启用 RabbitMQ 延迟队…

JAVA安全之Spring参数绑定漏洞CVE-2022-22965

前言 在介绍这个漏洞前,介绍下在spring下的参数绑定 在Spring框架中,参数绑定是一种常见的操作,用于将HTTP请求的参数值绑定到Controller方法的参数上。下面是一些示例,展示了如何在Spring中进行参数绑定: 示例1&am…

2024年C语言基础知识入门来了,一文搞定C语言基础知识!

一、C语言基础知识入门 c语言基础知识入门一经出现就以其功能丰富、表达能力强、灵活方便、应用面广等特点迅速在全世界普及和推广。C语言不但执行效率高而且可移植性好,可以用来开发应用软件、驱动、操作系统等,2024年C语言基础知识入门大全。C语言基础…

Spring boot 使用Redis 消息发布订阅

Spring boot 使用Redis 消息发布订阅 文章目录 Spring boot 使用Redis 消息发布订阅Redis 消息发布订阅Redis 发布订阅 命令 Spring boot 实现消息发布订阅发布消息消息监听主题订阅 Spring boot 监听 Key 过期事件消息监听主题订阅 最近在做请求风控的时候,在网上搜…