二、HarmonyOS 操作系统以及相关生态

前言

2019年8月9日,华为技术有限公司在华为开发者大会上正式发布了HarmonyOS 1.0,同时宣布该操作系统源代码开源。

2020年9月10日,HarmonyOs 2.0正式发布。与HarmonyOs 1.0版本相比,HarmonyOs
2.0在分布式软总线、分布式数据管理、分布式安全等分布式能力上进行了升级。

2022年11月4日,华为开发者大会2022上,华为推出了HarmonyOs 3.1版本。

HarmonyOS 3.1引入了Stage模型。

  • 万物互联时代正在开启

    经过十多年的发展,传统移动互联网的增长红利已渐见顶。万物互联时代正在开启,应用的设备底座将从几十亿手机扩展到数百亿I0T设备。全新的全场景设备体验,正深入改变消费者的使用习惯。同时应用开发者也面临设备底座从手机单设备到全场景多设备的转变。
    在这里插入图片描述

  • 当前移动应用开发面对新场景面临的主要挑战

    1. 针对不同设备上的不同操作系统,重复开发,维护多套版本。
    2. 多种开发框架,不同的编程范式。
    3. 多种语言栈,对开发人员技能要求高。
    4. 命令式编程,需要关注细节,变更频繁,维护成本高。
  • 移动端应用生态面临变革

    1. 传统应用的优缺点

      • 优点
        1. 功能齐全
        2. 整体体验好
      • 缺点
        1. 厚重
        2. 开发周期长、成本高
        3. 信息,应用孤岛
        4. 以应用为中心,而非以用户为中心
        5. 需要用户主动关注等显性操作
    2. 轻量化程序实体正成为新的趋势

      据统计,目前全网小程序的数量已经突破 700万+。
      轻量化的程序实体所具备的*“即用即走、无需安装卸载、永远最新”*的特征,推动了 App 基于搜索下载的“人找应用”的传统分发向“服务找人”的智慧分发的演进。

  • 鸿蒙生态迎接挑战

    1. 单一设备延伸到多设备
      应用一次开发就能在多个设备上运行,软件实体能够从单一设备转移到其他设备上,且多个设备间能够协同运行,给消费者提供全新的分布式体验。
    2. 厚重应用模式到轻量化服务模式
      提供轻量化的服务,最小化资源消耗,一步直达(原子化服务+服务卡片),快速完成消费者特定场景的任务。
    3. 集中化分发到 AI 加持下的智慧分发
      为消费者提供智慧场景服务,实现“服务找人”。系统根据用户的行为形成一个用户的兴趣画像,这样系统就能智能推荐用户需要的服务。
    4. 纯软件到软硬芯协同的 AI 能力
      提供软硬芯协同优化的原生 AI 能力,全面满足应用高性能诉求。
      这里其实就是一种意图搜索,当客户在搜索寻求一个想要的问题反馈时,系统可以给他把所有相关联的信息打包成一个整体的一站式的服务指南反馈给客户。

HarmonyOS 基本概念

HarmonyOS 系统定义
  • HarmonyOs 是一款面向万物互联时代的、全新的分布式操作系统
  • 在传统的单设备系统能力基础上,HarmonyOs 提出了基于同一套系统能力、适配多种终端形态的分布式理念,能够支持手机、平板、智能穿戴、智慧屏、车机等多种终端设备,提供全场景(移动办公、运动健康、社交通信、媒体娱乐等)业务能力。
HarmonyOS 发展历史
  • 2019年 HarmonyOS 正式发布并开源核心代码
  • 2020年鸿蒙智联面向硬件生态伙伴全面开放,并且多位合作伙伴开售了搭载 HarmonyOS 的智能家居产品
  • 2021年手机及多种智能终端全面搭载 HarmonyOS 2,实现了同一套系统能力适配多种终端的能力。
  • 2022年搭建 HarmonyOS 设备已经达到了 3.2 亿台。

HarmonyOS 设计理念

一个系统打通数字世界的边界。one as all,all as one.
在这里插入图片描述
应用设备分布式开发者生态:
华为 HarmonyOS 智能终端操作系统官网

区分 HarmonyOS 技术架构框架

HarmonyOS 全链路自研工具:

  • 全链路自研工具

面向鸿蒙生态的声明式开发套件,包含了鸿蒙生态应用从设计、开发、测试、上架所需的关键技术和产品。(鸿蒙指华为终端鸿蒙智能设备操作系统软件)

在这里插入图片描述

  1. HUAWEI DevEco Studio

集成开发环境IDE
面向HarmonyOS应用及元服务开发者提供的集成开发环境(IDE), 助力高效开发。

  1. ArkTs

ArkTs语言
在这里插入图片描述

ArkTS是鸿蒙生态的应用开发语言。它在保持TypeScript(简称TS)基本语法风格的基础上,对TS的动态类型特性施加更严格的约束,引入静态类型。同时,提供了声明式UI、状态管理等相应的能力,让开发者可以以更简洁、更自然的方式开发高性能应用。

在这里插入图片描述

  1. ArkUI

ArkUI跨端界面开发框架
ArkUI是一套构建分布式应用界面的声明式 UI 开发框架。它使用极简的 UI 信息语法、丰富的 UI 组件、以及实时界面预览工具,帮助开发者提升 HarmonyOS 应用界面开发效率。

在这里插入图片描述

  1. ArkCompiler

华为自研的统一开发平台

ArkCompiler是华为自研的统一编程平台,包含编译器、工具链、运行时等关键部件,支持高级语言在多种芯片平台的编译与运行,并支撑应用和服务运行在手机、个人电脑、平板、电视、汽车和智能穿戴等多种设备上的需求。

AOT 编译模式

ArkCompiler利用ArkTS的静态类型信息,进行类型推导并生成对象描述和内联缓存,加速运行时对字节码的解释执行;AOT(Ahead-of-Time)Compiler利用静态类型信息直接将字节码编译生成优化机器码,让应用启动即可运行高性能代码,提升应用启动和运行性能。
在这里插入图片描述

LiteActor 轻量化并发

ArkCompiler运行时在HarmonyOS上提供了Worker API支持并发编程。在运行时实例内存隔离的基础上,ArkCompiler通过共享运行实例中的不可变或者不易变的对象、内建代码块、方法字节码等技术手段,优化了并发运行实例的启动性能和内存开销。

源码安全

ArkCompiler 会把 ArkTS/TS/JS 编译为方舟字节码,运行时直接运行方舟字节码。并且 ArkCompiler 使用多种混淆技术提供更高强度的混淆与保护,使得HarmonyOS应用包中装载的是多重混淆后的字节码,有效提高了应用代码安全的强度。

  1. DevEco Testing

HarmonyOS 应用和设备测试解决方案,助力开发者全面高效测试。

HarmonyOS 应用测试	

在这里插入图片描述

HarmonyOS Connect 设备测试

在这里插入图片描述

  • HarmonyOS 砖块
    1. 应用与服务API
    2. 鸿蒙智联的api,连接我们的 IOT 设备,方便我们的设备走向智能化
      在这里插入图片描述
  • HarmonyOS 底座(8大领先技术)
    1. 分布式技术
    2. AI
    3. 原子化服务
    4. 通信
    5. 影像
    6. 音视频
    7. 图形渲染
    8. 隐私和安全框架

开源开放的生态环境

华为商用的 HarmonyOS 与 开源开放的 OpenHarmony 区别:

  • OpenHarmony

OpenHarmony 是由开放原子开源基金会(OpenAtom Foundation)孵化及运营的开源项目,开放原子开源基金会由华为、阿里、腾讯、百度、浪潮、招商银行、360等十家互联网企业共同发起组建。目标是面向全场景、全连接、全智能时代,基于开源的方式,搭建一个智能终端设备操作系统的框架和平台,促进万物互联产业的繁荣发展

从 Open 就可以看出,他是一个开源项目,是由华为雇了一帮人,然后由这些人commit代码,最后华为把 HarmonyOS 中基础功能提取出来,打包成功一个项目叫做“Openharmony” ,把 Openharmony 捐献给了原子开源基金会。

  • HarmonyOS

HarmonyOS 是华为是基于 OpenHarmony、AOSP等开源项目开发的面向多种全场景智能设备的商用版本。

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

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

相关文章

智慧公厕——旅游景区的高端必备设施

随着旅游行业的迅猛发展,越来越多的人选择在假期中出游,寻找美好的旅行体验。而一个良好的旅游景区必须拥有完善的基础设施,其中智慧公厕则是不可或缺的一环。智慧公厕源头厂家广州中期科技有限公司,已经打造了大量精品工程&#…

JVMJava虚拟机

JVM的内存区域 程序计数器: 字节码解释器通过改变程序计数器来依次读取指令,从而实现代码的流程控制,如:顺序执行、选择、循环、异常处理。 在多线程的情况下,程序计数器用于记录当前线程执行的位置,从而当…

01——LenNet网络结构,图片识别

目录 1、model.py文件 (预训练的模型) 2、train.py文件(会产生训练好的.th文件) 3、predict.py文件(预测文件) 4、结果展示: 1、model.py文件 (预训练的模型) impor…

Day17 深入类加载机制

Day17 深入类加载机制 文章目录 Day17 深入类加载机制一、初识类加载过程二、深入类加载过程三、利用类加载过程理解面试题四、类加载器五、类加载器分类六、类加载器之间的层次关系七、双亲委派模型 - 概念八、双亲委派模型 - 工作过程九、双亲委派模型 - 好处十、双亲委派原则…

Jmeter---分布式

分布式:多台机协作,以集群的方式完成测试任务,可以提高测试效率。 分布式架构:控制机(分发任务)与多台执行机(执行任务) 环境搭建: 不同的测试机上安装 Jmeter 配置基…

Sparse Convolution 讲解

文章目录 1. 标准卷积与Sparse Conv对比(1)普通卷积(2) 稀疏卷积(3) 改进的稀疏卷积(subm)2 Sparse Conv 官方API3. Sparse Conv 计算3. 1 Sparse Conv 计算流程3. 2 案例3.2.1 普通稀疏卷积3.2.2 subm模式的稀疏卷积3D点云数据非常稀疏,尤其体素化处理后(比如200k的点放…

【算法篇】七大基于比较的排序算法精讲

目录 排序 1.直接插入排序 2.希尔排序 3.直接选择排序 4.堆排序 5.冒泡排序 6.快速排序 7.归并排序 排序 排序算法的稳定性:假设在待排序的序列中,有多个相同的关键字,经过排序后,这些关键字的先后顺序不发生改变&#…

Spring项目问题—前后端交互:Method Not Allowed

问题 前后端交互时出现Method Not Allowed问题 Ajax中使用的是get,方法仍然出现post方法报错 Resolved [org.springframework.web.HttpRequestMethodNotSupportedException: Request method POST not supported] 浏览器中没有报错,只是接收不到后端返…

解锁数据潜力:OceanBase国产数据库学习不容错过的秘密!

介绍:OceanBase是一款由阿里巴巴和蚂蚁金服自主研发的通用分布式关系型数据库,它专为企业级应用而设计,具有金融级别的可靠性。以下是对OceanBase的详细介绍: 高可用性:OceanBase通过实现Paxos多数派协议和多副本特性&…

MySql入门教程--MySQL数据库基础操作

꒰˃͈꒵˂͈꒱ write in front ꒰˃͈꒵˂͈꒱ ʕ̯•͡˔•̯᷅ʔ大家好,我是xiaoxie.希望你看完之后,有不足之处请多多谅解,让我们一起共同进步૮₍❀ᴗ͈ . ᴗ͈ აxiaoxieʕ̯•͡˔•̯᷅ʔ—CSDN博客 本文由xiaoxieʕ̯•͡˔•̯᷅ʔ 原创 CSDN …

C语言从入门到熟悉------第四阶段

指针 地址和指针的概念 要明白什么是指针,必须先要弄清楚数据在内存中是如何存储的,又是如何被读取的。如果在程序中定义了一个变量,在对程序进行编译时,系统就会为这个变量分配内存单元。编译系统根据程序中定义的变量类型分配…

【滤波专题-第8篇】ICA降噪方法——类EMD联合ICA降噪及MATLAB代码实现(以VMD-ICA为例)

今天来介绍一种效果颇为不错的降噪方法。(针对高频白噪声) 上一篇文章我们讲到了FastICA方法。在现实世界的许多情况下,噪声往往接近高斯分布,而有用的信号(如语音、图像特征等)往往表现出非高斯的特性。F…

unity学习(60)——选择角色界面--MapHandler2-MapHandler.cs

1.新建一个脚本&#xff0c;里面有static变量loadingPlayerList using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks;namespace Assets.Scripts.Model {internal class LoadData{public static List<Pl…

3D地图在BI大屏中的应用实践

前言 随着商业智能的不断发展&#xff0c;数据可视化已成为一项重要工具&#xff0c;有助于用户更好地理解数据和分析结果。其中&#xff0c;3D地图作为一种可视化工具&#xff0c;已经在BI大屏中得到了广泛地应用。 3D地图通过将地理信息与数据相结合&#xff0c;以更加直观…

【AI】用iOS的ML(机器学习)创建自己的AI App

用iOS的ML(机器学习)创建自己的AI App 目录 用iOS的ML(机器学习)创建自己的AI App机器学习如同迭代过程CoreML 的使用方法?软件要求硬件开始吧!!构建管道:设计和训练网络Keras 转 CoreML将模型集成到 Xcode 中结论推荐超级课程: Docker快速入门到精通Kubernetes入门到…

计算机网络——物理层(数据通信基础知识)

计算机网络——物理层&#xff08;1&#xff09; 物理层的基本概念数据通信的基本知识一些专业术语消息和数据信号码元 传输速率的两种表示方法带宽串行传输和并行传输同步传输和异步传输 信道基带信号调制常用编码方式 我们今天进入物理层的学习&#xff0c;如果还没有了解OSI…

Transformer代码从零解读【Pytorch官方版本】

文章目录 1、Transformer大致有3大应用2、Transformer的整体结构图3、如何处理batch-size句子长度不一致问题4、MultiHeadAttention&#xff08;多头注意力机制&#xff09;5、前馈神经网络6、Encoder中的输入masked7、完整代码补充知识&#xff1a; 1、Transformer大致有3大应…

C++ 入门篇

目录 1、了解C 2、C关键字 2、命名空间 2.1 命名空间的定义 2.2 命名空间的使用 3. C输入与输出 4.缺省参数 4.1 缺省参数的概念 4.2 缺省参数的分类 5. 函数重载 5.1 函数重载的概念 5.2 C中支持函数重载的原理--名字修饰 6. 引用 6.1 引用概念 6.2 引用…

Docker 系列2【docker安装mysql】【开启远程连接】

文章目录 前言开始步骤1.增加mysql挂载目录2.下载镜像2.启动容器具体步骤4.无法连接5.测试连接 总结 前言 本文开始&#xff0c;默认已经安装docker&#xff0c;如果你还没有完成这个步骤&#xff0c;请查看这一篇文章【docker安装与使用】 开始步骤 1.增加mysql挂载目录 m…

网络原理(1)——UDP协议

目录 一、应用层 举个例子&#xff1a;点外卖 约定数据格式简单粗暴的例子 客户端和服务器的交互&#xff1a; 序列化和返序列化 xml、json、protobuffer 1、xml 2、json 3、protobuffer 二、传输层 端口 端口号范围划分 认识知名的端口号 三、UDP协议 端口 U…