二、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等开源项目开发的面向多种全场景智能设备的商用版本。

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

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

相关文章

单调队列优化DP

最大子序和 输入一个长度为 n 的整数序列,从中找出一段长度不超过 m的连续子序列,使得子序列中所有数的和最大。 注意: 子序列的长度至少是 1。 输入格式 第一行输入两个整数 n,m。 第二行输入 n 个数,代表长度为 n 的整数序…

Selenium教程:一文了解Selenium的元素查找

注:本文内容基于selenium 3.141.0 Selenium的元素查找指的是使用Selenium WebDriver库中提供的方法来定位和操作网页上的各种元素,如文本框、按钮、下拉框、链接等。通过元素查找,可以在自动化测试中模拟用户操作,比如输入文本、点…

C语言 内存函数

目录 前言 一、memcpy()函数 二、memmove()函数 三、memset函数 四、memcmp()函数 总结 前言 在C语言中内存是我们用来存储数据的地址,今天我们来讲一下C语言中常用的内存函数。 一、memcpy()函数 memcpy()函数与我们之前讲的strcpy()函数类似,只…

分布式调用与高并发处理(二)| Dubbo

文章目录 Dubbo概念_什么是分布式系统单机架构集群架构分布式架构单机、集群和分布式的区别 Dubbo概念_什么是RPCRPC两个作用:常见 RPC 技术和框架: Dubbo概念_简介Dubbo能做什么Dubbo支持的协议 Dubbo概念_核心组件注册中心Registry服务提供者Provider服…

AI - 决策树模型

🤔决策树算法 决策树的思想来源可以追溯到古希腊时期,当时的哲学家们就已经开始使用类似于决策树的图形来表示逻辑推理过程。然而,决策树作为一种科学的决策分析工具,其发展主要发生在20世纪。 在20世纪50年代,美国兰…

Xinstall助力web唤起iOS,打破平台壁垒,实现无缝跳转

在移动互联网时代,web与App之间的跳转已成为用户日常使用中不可或缺的一部分。然而,对于iOS系统的用户来说,web唤起App的过程往往充满了挑战和不便。这时,Xinstall作为一款专业的移动开发者服务工具,为开发者们提供了解…

RPC通信原理(一)

RPC通信原理 RPC的概念 如果现在我有一个电商项目,用户要查询订单,自然而然是通过Service接口来调用订单的实现类。 我们把用户模块和订单模块都放在一起,打包成一个war包,然后再tomcat上运行,tomcat占有一个进程&am…

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

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

分享一下自己总结的7万多字java面试笔记和一些面试视频,简历啥的,已大厂上岸

分享一下自己总结的7万多字java面试笔记和一些面试视频,简历啥的,已大厂上岸 自己总结的面试简历资料:https://pan.quark.cn/s/8b602fe53b58 文章目录 SSMspringspring 的优点?IoC和AOP的理解**Bean 的生命周期****列举一些重要…

关于工业机器人的四大保养事项

工业机器人的保养周期和注意事项会根据具体机器人的型号、使用环境和工作负荷等因素而有所不同。一般来说,以下是一些常见的保养周期和注意事项: 工业机器人保养注意事项如下: 一、常规保养 1.清洁与除尘:定期清洁机器人的外壳、…

C#,图论与图算法,双连通图(Biconnected Components of Graph)的算法与源代码

1 双连通图(Biconnected Components of Graph) 如果任意两个顶点之间有两条顶点不相交的路径,则无向图称为双连通图。在双连通图中,有一个通过任意两个顶点的简单循环。 按照约定,由边连接的两个节点构成双连通图,但这并不验证上述属性。对于具有两个以上顶点的图,必须…

音视频如何快速转二维码?在线生成音视频活码的教程

音频文件的二维码制作步骤是什么样的呢?扫描二维码来展现内容是很流行的一种方式,基本上日常生活中经常会用的图片、音频、视频等都可以使用生成二维码的方式。现在很多的幼儿园或者学校会录制孩子的音频或者视频内容用来展示,那么二维码制作…