二、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.mzph.cn/news/741240.shtml

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

相关文章

Java数据结构-二叉树

文章目录 前言一、树型结构1.1概念1.2 知识点1.3 树的表示形式1.4 树的应用 二、二叉树2.1 概念2.2 两种特殊的二叉树2.3 二叉树的性质2.4 二叉树的存储2.5 二叉树的基本操作2.5.1 二叉树的遍历2.5.2 二叉树的基本操作 前言 对学习的二叉树的知识进行总结。 一、树型结构 1.1…

蓝桥杯--日期统计

目录 一、题目 二、解决代码 三、代码分析 ​四、另一种思路 五、关于set文章推荐 一、题目 二、解决代码 #include <bits/stdc.h> using namespace std; int main() {int arr[100] { 5,6,8,6,9,1,6,1,2,4,9,1,9,8,2,3,6,4,7,7,5,9,5,0,3,8,7,5,8,1,5,8,6,1,8,3,0,…

【大模型API调用初尝试二】星火认知大模型 百度千帆大模型

大模型API调用初尝试二 科大讯飞—星火认知大模型单轮会话调用多轮会话调用 百度—千帆大模型获取access_token单轮会话多轮会话 科大讯飞—星火认知大模型 星火认知大模型是科大讯飞开发的&#xff0c;直接使用可以点击星火认知大模型&#xff0c;要调用API的话在讯飞开发平台…

软件架构设计的核心步骤详解

在软件开发的浩瀚海洋中,软件架构设计犹如一艘引领航向的巨轮,它承载着系统的稳定性、可扩展性和可维护性等多重使命。那么,软件架构设计的核心步骤究竟有哪些呢?本文将为您一一揭晓,并深入剖析每个步骤的精髓。 一、需求分析:奠定架构设计之基 软件架构设计的首要步骤…

C#版开源免费的Bouncy Castle密码库

前言 今天大姚给大家分享一款C#版开源、免费的Bouncy Castle密码库&#xff1a;BouncyCastle。 项目介绍 BouncyCastle是一款C#版开源、免费的Bouncy Castle密码库&#xff0c;开发人员可以通过该项目在他们的 C# 应用程序中使用 Bouncy Castle 提供的各种密码学功能&#x…

C语言自学笔记7----C 语言 break和continue语句

C 语言 break和continue语句 C 语言 break break语句在遇到循环时将立即结束循环。其语法为&#xff1a; break; break语句几乎总是与if…else循环内的语句一起使用。 示例1&#xff1a;break语句 //程序计算最多10个数字的总和 //如果输入负数&#xff0c;则循环终止 includ…

虚幻4 | 制作游戏——学习记录(一)

1. 启动Epic后下载虚幻4&#xff0c;打开虚幻4后新建一个第三人称游戏项目&#xff0c;效果如下&#xff1a; &#xff08;1&#xff09;内容/ThirdPersonBP/Blueprints中的ThirdPersonCharacter&#xff08;左下角人物&#xff09; 这是模板中使用的主要蓝图类&#xff0c;它…

在Centos7.9上安装openGauss与配置

Centos7.9 安装与配置 一、 Vmware 虚拟机安装&#xff08;安装版本为 VMware Workstation 16 Pro&#xff09; 先去官网下载&#xff1a;Download VMware Workstation Pro 运行下载完成的 Vmware Workstation 虚拟机软件包。 一切准备就绪后&#xff0c;单击“升级”按钮。…

ABAP接口部分-C#调用RFC

目录 ABAP接口部分-C#调用RFC创建表结构创建RFC函数创建C#项目引用SAP .Net Connector包绘制窗口的控件最终布局代码 项目配置报错SAP.Middleware.Connector.RfcDestinationManager报错SAP.Middleware.Connector.RfcLoginexception报错SAP.Middleware.Connector.RfcInvalidStat…

odoo shell交互和调试

Odoo提供了一个强大的框架来帮助企业管理他们的业务流程。以下是您提到的几个关键功能的详细解释和代码示例。 1. 自动重载和 --dev 选项 在开发Odoo模块时&#xff0c;您可能希望对代码进行修改并立即看到效果&#xff0c;而不需要重启整个服务。Odoo提供了自动重载机制来实…

集合实现类研究底层(部分):手撕ArrayList底层源码、手撕LinkedList底层源码、手写单向链表和双向链表

day26上 集合框架图 标绿已经学习底层&#xff0c;深入底层主要是研究实现类底层 继承关系图 手撕ArrayList底层源码 ps:研究添加元素的过程 思路&#xff1a; 1.研究继承关系 2.研究属性 3.理解创建集合的过程 – 构造方法的底层原理 4.研究添加元素的过程 提升&#xff1a…

.a .so .bin 文件格式分析--文件格式是32位还是64位,数据是大端还是小端,运行在 arm 上还是 x86上

可通过readelf指令&#xff0c;分析文.a .so .bin 文件是在什么系统上编译的&#xff0c;文件格式是32位还是64位&#xff0c;数据是大端还是小端&#xff0c;运行在 arm 上还是 x86上 1&#xff1a;格式读取说明 通过 readelf -a libbrd.a 读取文件的格式内容 File: libbrd…

BUGKU-WEB ezbypass

题目描述 题目截图如下&#xff1a; 进入场景看看&#xff1a; 解题思路 代码审计题目发现需要构造一个字符串&#xff0c;使得它不包含字母、数字、特殊字符的PHP代码片段&#xff0c;长度小于105&#xff0c;然后传递给$codepost提交参数&#xff0c;eval&#xff08;&…

数仓基础理论(一)

数据仓库概念 数据库 vs 数据仓库 从数据来源进行区分 数据库&#xff1a;企业中基础核心的业务数据 数据仓库&#xff1a;数据库中的数据 从数据存储进行区分 数据库&#xff1a;核心作用就是查找业务数据&#xff0c;基本上行式存储(带有索引)&#xff0c;基本上无法存…

大模型学习笔记六:Semantic Kernel

文章目录 一、Semantic Kernel介绍和发展1&#xff09;SK 的语言开发进展2&#xff09;SK的生态位3&#xff09;SK基础架构 二、环境搭建1&#xff09;初始化2&#xff09;Semantic Functions&#xff08;不用编写代码&#xff0c;用配置实现回调函数&#xff09;3&#xff09;…

js的异常处理

1、throw抛异常 throw抛出异常信息&#xff0c;程序也会终止执行&#xff1b; throw后面跟的是错误提示信息&#xff1b; new Error() 配个throw使用&#xff0c;能设置更详细的错误信息。 function counter(x,y) {if (!x || !y) {throw new Error(参数不能为空)}retu…

Kotlin 数据解析(Gson)

一、添加依赖 build.gradle.kts(:app) // gson数据解析implementation("com.google.code.gson:gson:2.8.6") 对象类&#xff1a; // 对象类 class Account {var uid:String "00001"var userName:String "Freeman"var password:String &quo…

介绍一下左值右值,左值引用和右值引用

先说左值和右值&#xff0c;简单来说可以放到等号左边的值叫做左值&#xff0c;可以放到等号右边的值叫做右值。 详细的说&#xff0c;左值是有明确的地址&#xff0c;是具有名字的&#xff0c;是可以对左值进行取地址操作的&#xff0c;因为它在内存中有明确的地址和名字&…

k8s+wordpress+zabbix+elastic+filebeat+kibana服务搭建以及测试

一&#xff0c;环境&#xff1a;docker&#xff0c;k8s&#xff0c;zabbix&#xff0c;以及搭建worpdress&#xff0c;elasticsearch&#xff0c;filebeat&#xff0c;kibana 二&#xff0c;主机分配&#xff1a; 名称host详述个人博客3192.168.142.133 搭配mysql8.0.36的数据…

DVWA靶场-暴力破解

DVWA是一个适合新手锻炼的靶机&#xff0c;是由PHP/MySQL组成的 Web应用程序&#xff0c;帮助大家了解web应用的攻击手段 DVWA大致能分成以下几个模块&#xff0c;包含了OWASP Top 10大主流漏洞环境。 Brute Force——暴力破解 Command Injection——命令注入 CSRF——跨站请…