HarmonyOs 4 (一) 认识HarmonyOs

news2025/1/10 1:31:48

在这里插入图片描述

目录

  • 一 HarmonyOs 背景
    • 1.1 发展时间线
    • 1.2 背景分析
      • 1.2.1 新场景
      • 1.2.2 新挑战
      • 1.2.3 鸿蒙生态迎接挑战
  • 二 HarmonyOS简介
    • 2.1 OpenHarmony
    • 2.2 HarmonyOS Connect
    • 2.3 HarmonyOS Next
    • **2.4 ArkTS (重点掌握)**
    • **2.5 ArkUI**
  • 三 鸿蒙生态应用核心技术理念
    • **3.1 原子化服务定义**
    • **3.2 流转**
      • **3.2.1系统推荐流转**
      • **3.2.2 用户手动流转**

  • 💌 所属专栏:【HarmonyOs】
  • 😀 作 者:长安不及十里
  • 💻 工作:目前从事电力行业开发
  • 🌈 目标:全栈开发
  • 🚀 个人简介:一个正在努力学技术的Java工程师,专注基础和实战分享 ,欢迎咨询!
  • 📱:测试设备:荣耀30pro+HarmonyOs4

参考资料:

  • 全网最新最细鸿蒙HarmonyOS4.0教程(帝心+庄生第一季完结)_哔哩哔哩_bilibili
  • 华为HarmonyOS智能终端操作系统官网 | 应用设备分布式开发者生态

一 HarmonyOs 背景

1.1 发展时间线

  • 2019年8月9日:HarmonyOS 1.0
  • 2020年9月10日:HarmonyOS 2.0
  • 2022年11月04日:HarmonyOS 3.1 Developer Preview
  • 2023年8月4日,HarmonyOS 4.0操作系统正式发布。
  • 2024年:预计推出HarmonyOS Next

1.2 背景分析

1.2.1 新场景


1.2.2 新挑战

不同设备类型意味着不同的传感器能力、硬件能力、屏幕尺寸、操作系统和开发语言,还意味着差异化的交互方式。同时跨设备协作也让开发者面临分布式开发带来的各种复杂性,适配和管理工作量将非常巨大。当前移动应用开发中遇到的主要挑战包括:

  • 针对不同设备上的不同操作系统,重复开发,维护多套版本。
  • 多种开发框架,不同的编程范式。
  • 多种语言栈,对人员技能要求高。
  • 命令式编程,需关注细节,变更频繁,维护成本高。

** 移动终端应用生态面临变革, 轻量化程序实体正成为新的趋势**

1.2.3 鸿蒙生态迎接挑战

  • 单一设备延伸到多设备
  • 厚重应用模式到轻量化服务模式
  • 集中化分发到AI加持下的智慧分发
  • 纯软件到软硬芯协同的AI能力

二 HarmonyOS简介

  • HarmonyOS是一款面向万物互联时代的、全新的分布式操作系统。有三大系统特性,分别是:硬件互助,资源共享;一次开发,多端部署;统一OS,弹性部署。
  • HarmonyOS通过硬件互助,资源共享的能力,将多个形态不一的设备进行组网,共同构成一个超级终端,可在超级终端中实现任务分发与数据共享。
  • 硬件互助依赖HarmonyOS的分布式软总线,在此基础上,HarmonyOS还具备了分布式硬件虚拟化、分布式数据管理、分布式任务调度等分布式特性。

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


2.1 OpenHarmony

  • HarmonyOS是华为通过OpenHarmony项目,结合商业发行版增加能力,构建华为自研产品的完整解决方案。
  • OpenHarmony是由开放原子开源基金会(OpenAtom Foundation)孵化及运营的开源项目,目标是面向全场景、全连接、全智能时代,基于开源的方式,搭建一个智能终端设备操作系统的框架和平台,促进万物互联产业的繁荣发展。



2.2 HarmonyOS Connect

  • HarmonyOS Connect(中文“鸿蒙智联”)是华为统一的智能硬件生态品牌。
  • HarmonyOS Connect生态伙伴可以基于华为提供的芯片设计、操作系统、连接、云、AI和用户体验设计能力,为消费者提供高品质的智能硬件生态设备,使该设备能够与华为HarmonyOS设备(包括手机、全屋主机、智能座舱、智慧屏、手表等终端)以及其他的HarmonyOS Connect生态设备进行联接和协同,共同打造互联互通的HarmonyOS Connect生态。


2.3 HarmonyOS Next

  • AOSP + HMS + OpenHarmony = HarmonyOS 4.0
  • HMS + OpenHarmony = HarmonyOS Next

2.4 ArkTS (重点掌握)

** ArkTS是华为自研的开发语言。它在TypeScript(简称TS)的基础上,匹配ArkUI框架,扩展了声明式UI、状态管理等相应的能力,让开发者以更简洁、更自然的方式开发跨端应用。**

2.5 ArkUI

ArkUI是一套构建分布式应用界面的声明式UI开发框架。它使用极简的UI信息语法、丰富的UI组件、以及实时界面预览工具,提升开发效率。使用一套ArkTS API,就能在多个HarmonyOS设备上提供生动而流畅的用户界面体验。

三 鸿蒙生态应用核心技术理念

** 在万物智联时代重要机遇期,鸿蒙系统结合移动生态发展的趋势,提出了三大技术理念。**

  • 一次开发 多端部署
  • 可分可合 自由流转
  • 统一生态 原生智能


3.1 原子化服务定义

  • 原子化服务是HarmonyOS提供的一种全新的应用形态,具有独立入口,用户可通过点击、碰一碰、扫一扫等方式直接触发,无需显式安装,由程序框架后台静默安装后即可使用,可为用户提供便捷服务。


免安装的HAP包不能超过10MB,保持免安装属性,HAP包必须包含FA

3.2 流转

  • 多个设备通过分布式操作系统能够相互感知,进而整合成一个超级终端,使设备间取长补短、相互帮助,为使用者提供自然流畅的分布式体验。
  • 流转在HarmonyOS中泛指多设备分布式操作,按照体验可分为跨端迁移和多端协同。

3.2.1系统推荐流转

  • 系统感知周边有可用设备后,主动为用户提供可选择流转的设备信息,并在用户完成设备选择后回调通知应用开始流转,将用户选择的另一个设备的设备信息提供给应用。


3.2.2 用户手动流转

  • ** 用户手动流转:系统在用户手动点击流转图标后,被动为用户提供可选择交互的设备信息,并在用户完成设备选择后回调通知应用开始流转,将用户所选另一个设备的设备信息提供给应用。**


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

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

相关文章

c/c++概念辨析-指针常量常量指针、指针函数函数指针、指针数组数组指针

概念澄清: 统一规则: 不管是XX指针,还是指针XX,后者是本体,前者只是个定语,前者也可以替换为其他同类(例如字符串),帮助理解。 XX指针: 可简单理解为&#…

骨传导耳机是智商税吗?骨传导耳机是利用什么原理听歌?

骨传导耳机并非智商税,而是一种新兴的技术产品。作为是一种新型的听音设备,它采用了与传统耳机不同的工作原理,通过将声音通过骨骼传导到内耳,实现了不用堵塞耳道就能听到声音的效果。相比传统耳机,骨传导耳机具有一些…

mac本地部署stable-diffusion

下载Homebrew /bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)" ①输入“1”选择中科大版本,然后输入Y(YES),直接输入开机密码(不显示)然后回车确认,开始下载 ②…

matlab 基于卡尔曼滤波的GPS-INS的数据融合的导航

1、内容简介 略 25-可以交流、咨询、答疑 2、内容说明 基于卡尔曼滤波的GPS-INS的数据融合的导航 "基于卡尔曼滤波的GPS-INS的数据融合的导航 基于卡尔曼滤波实现GPS-INS组合导航系统" 卡尔曼滤波、GPS、INS、数据融合、导航 3、仿真分析 4、参考论文 略 …

Linux基本指令(后篇)

目录 14.时间指令date 15.Cal指令 16.find指令(非常重要) 17.grep指令 18.打包压缩指令zip和tar以及解压指令unzip和tar 14.时间指令date date(显示当前时间) 1.在显示方面,使用者可以设定欲显示的格式,格式设定为一个加号后接数个标记,其中…

带头结点的双向循环链表

目录 带头结点的双向循环链表 1.存储定义 2.结点的创建 3.结点的初始化 4.尾插结点 5.尾删结点 6.头插结点 7.头删结点 8.查找并返回结点 9.在pos结点前插入结点 10.删除pos结点 11.打印链表 12.销毁链表 13.头插结点2.0版 14.尾插结点2.0版 前言: 当…

Mac右键添加通过VSCode打开

Mac右键添加通过VSCode打开 1 首先打开自动操作 进入方式 访达 – 应用程序 – 自动操作 2. 选择快速操作 3. 添加 最后 commands保存,可以输入自定义的名称 for f in "$" doopen -a "Visual Studio Code" "$f" done4. 找到保存的快…

SpringBoot+mysql+vue实现大学生健康档案管理系统前后端分离

一、项目简介 本项目是一套基于SpringBoot实现大学生健康档案管理系统,主要针对计算机相关专业的正在做bishe的学生和需要项目实战练习的Java学习者。 包含:项目源码、数据库脚本等,该项目可以直接作为bishe使用。 项目都经过严格调试&#…

Java项目学生管理系统三添加学生

​ 欢迎来到本篇博客,昨天我们学习的是查询所有,今天我们将探索一个令人兴奋的话题——Java项目学生管理系统的学生添加功能。作为一个学生管理系统的关键功能之一,学生添加模块扮演着连接教育工作者与学生信息的桥梁。通过本文,我…

视频后期特效处理软件 Motion 5 mac中文版

Motion mac是一款运动图形和视频合成软件,适用于Mac OS平台。 Motion mac软件特点 - 精美的效果:Motion提供了多种高质量的运动图形和视频效果,例如3D效果、烟雾效果、粒子效果等,方便用户制作出丰富多彩的视频和动画。 - 高效的工…

还得是字节出来的,太秀了...

前段时间公司缺人,也面了许多测试,一开始瞄准的就是中级水准,当然也没指望能来大牛,提供的薪资在15-20k这个范围,来面试的人有很多,但是平均水平真的让人很失望。看了简历很多上面都是写有4年工作经验&…

(二)Tiki-taka算法(TTA)求解无人机三维路径规划研究(MATLAB)

一、无人机模型简介: 单个无人机三维路径规划问题及其建模_IT猿手的博客-CSDN博客 参考文献: [1]胡观凯,钟建华,李永正,黎万洪.基于IPSO-GA算法的无人机三维路径规划[J].现代电子技术,2023,46(07):115-120 二、Tiki-taka算法(TTA&#xf…

zookeeper分布式先进先出队列 (实操课程)

本系列是zookeeper相关的实操课程,课程测试环环相扣,请按照顺序阅读来学习和测试zookeeper。 阅读本文之前,请先阅读----​​​​​​zookeeper 单机伪集群搭建简单记录(实操课程系列)zookeeper 客户端常用命令简单记录…

鸿蒙开发笔记

最近比较火,本身也是做前端的,就抽空学习了下。对前端很友好 原视频地址:黑马b站鸿蒙OS视频 下载安装跟着视频或者文档就可以了。如果你电脑上安装的有node,但是开发工具显示你没安装,不用动咱们的node,直…

高效复习的打印神器,学习好助手工作好搭档,咕咕机T1错题打印机上手

日常工作和学习的时候,经常需要打印很多电子表格和文档,但是手边不一定有打印机,对于在家或宿舍学习的学生来说更是如此,不过市面上常见的打印机需要墨盒、硒鼓等配件,使用成本高且不方便操作。那么有没有一款快捷易用…

智慧箱变监控系统

智慧箱变监控系统是一种先进的监控解决方案,依托电易云-智慧电力物联网,旨在实现对箱式变电站(简称“箱变”)的智能化、远程化监控和管理。以下是智慧箱变监控系统的主要功能和优势: 实时监测:通过传感器和…

ChatGPT一周年,奥特曼官宣 OpenAI 新动作!

大家好,我是二狗。 今天是11月30日,一转眼,ChatGPT 发布已经一周年了! 而就在刚刚,ChatGPT一周年之际。 OpenAI 正式宣布Sam Altman回归重任CEO, Mira Murati 重任CTO,Greg Brockman重任总裁,O…

公共字段自动填充

1.自定义注解,用于表示需要进行公共字段自动填充的方法 OperationType枚举类 自定义切面类 通过反射为属性赋值

XXL-Job详解(三):任务开发

目录 前言任务配置属性任务开发bean模式1、创建任务2、调度中心新建调度任务 GLUE模式1、调度中心,新建调度任务:2、开发任务代码 前言 看该文章之前,最好看一下之前的文章,比较方便我们理解 XXL-Job详解(一&#xf…

np.newaxis()函数的使用

import numpy as np x np.array([2, 4, 7, 9, 20]) print(x的形状:, x.shape) # x的形状: (5,) print(x的值:, x) # x的值: [ 2 4 7 9 20]x_new1 x[np.newaxis, :] # (5,) -----》 (1, 5) print(x_new1的形状:, x_new1.shape) # x_new1的形状: (1, 5) print…