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

news2024/11/16 12:49:59

前言

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.coloradmin.cn/o/1515718.html

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

相关文章

德人合科技 | 公司办公终端、电脑文件资料 \ 数据透明加密防泄密管理软件系统

天锐绿盾是一款全面的企业级数据安全解决方案,它专注于为企业办公终端、电脑文件资料提供数据透明加密防泄密管理。 首页 德人合科技——www.drhchina.com 这款软件系统的主要功能特点包括: 1. **透明加密技术**: 天锐绿盾采用了透明加密技…

气压计LPS25HB开发(1)----轮询获取气压计数据

气压计LPS25HB开发----1.轮询获取气压计数据 概述视频教学样品申请源码下载产品特性通信模式速率生成STM32CUBEMX串口配置IIC配置SA0地址设置串口重定向参考程序SA0设置模块地址获取ID复位操作BDU设置设置速率轮询读取数据演示 概述 本文将介绍如何使用 LPS25HB 传感器来读取数…

JAVA初阶数据结构栈(工程文件后续会上传)(+专栏数据结构练习是完整版)

1.栈的概念讲解(Stack)) 定义:栈是一种先进后出的数据结构 要想拿到12就要把它头上的所有东西给移出去 2.栈的实现(代码) 2.1栈的方法逻辑的讲解 (1)新建一个测试类Frank (2)进…

C语言黑魔法第三弹——动态内存管理

本文由于排版问题,可能稍显枯燥,但里面知识点非常详细,建议耐心阅读,帮助你更好的理解动态内存管理这一C语言大杀器 进阶C语言中有三个知识点尤为重要:指针、结构体、动态内存管理,这三个知识点决定了我们…

Set cancelled by MemoryScratchSinkOperator

Bug信息 Caused by: com.starrocks.connector.spark.exception.StarrocksInternalException: StarRocks server StarRocks BE{host=10.9.14.39, port=9060} internal failed, status code [CANCELLED] error message is [Set cancelled by MemoryScratchSinkOperator]Bug产生的…

武汉LUG报名开启!这次我们来到了华中科技大学,3月23日(周六)来见面吧!

内容来源:deepin 社区 LUG 不间断,精彩不停歇,经过一个月的修整,2024年3月23日下午,我们将在华中科技大学东校区举办 3月 WHLUG,欢迎大家来到现场,和我们一起交流技术,分享自己学习过…

java导入导出excel用注解实现

导入: excel和接收类字段对应关系 Data ColumnWidth(30) public class AppVcardExcelVO {ExcelLineExcelIgnoreSchema(description "导入时候回显行号")private Long lineNum;NotBlank(message "客户名不能为空")ExcelProperty("客户名…

环形缓冲区在stm32上的使用

目录 环形缓冲区在stm32上的使用前言实验目的环形缓冲区的定义和初始化写入数据到环形缓冲区从环形缓冲区读取数据实验结果本文中的实践工程 环形缓冲区在stm32上的使用 本文目标:环形缓冲区在stm32上的使用 按照本文的描述,应该可以跑通实验并举一反三…

Talk|麻省理工学院李晨昊:发展式腿足智能-从模仿到生成

本期为TechBeat人工智能社区第578期线上Talk。 北京时间3月13日(周三)20:00,麻省理工学院博士生—李晨昊的Talk已准时在TechBeat人工智能社区开播! 他与大家分享的主题是: “发展式腿足智能-从模仿到生成”,向大家系统地介绍了专家示范(exper…

BMC模块硬件资源介绍

1 概述 FT-E2KS-BMC-D4-A(以下简称 “BMC” )是飞腾信息技术有限公司(以下简称 “飞腾” )和广东汉为信息技术有限公司(以下简称 “汉为” )联合设计、研发、生产的国产化服务器远程管理控制模块。服务…

数据结构:8、堆

一、树的概念 树是一种非线性的数据结构,它是由n(n>0)个有限结点组成一个具有层次关系的集合。把它叫做树是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。 有一个特殊的结点,称为根结点…

Qt+FFmpeg+opengl从零制作视频播放器-13.打包为exe包发布软件

1.首先visual studio给生成程序添加桌面图标。 右键工程,添加新文件资源文件Resource.rc 选择导入文件,我这里导入了Player.ico文件。 添加后,在资源文件那里就可以看见ico文件。 然后编译release程序, 生成的可执行程序就带上了图标。 2.使用Qt 程序打包发布-windeployq…

用户视角的比特币和以太坊外围技术整理

1. 引言 要点: 比特币L2基本强调交易内容的隐蔽性,P2P交易(尤其是支付)成为主流,给用户带来一定负担(闪电网络)在以太坊 L2 中,一定程度上减少了交易的隐蔽性,主流是实…

Linux网络配置修改hosts映射文件关闭防火墙

Linux网络配置&系统管理 一、物理机、VMware软件、虚拟机之间的网络关系1.1 总体框架图1.2 为什么物理机、VM软件、客户机之间能够通信?1.3 查看客户机的IP地址ifconfig1.4 小节1.5 修改静态IP地址1.6 测试能不能ping通 二、修改主机名以及hosts映射文件2.1 修改主机名2.1…

物联网终端telegraf采集设备信息

背景 低功耗设备上资源有限,但又比较重要。对其的管理难度很大,有些时候又必须时刻了解其运行状况。我们自然想到的是能否有办法监控它呢?当时是有的!而且很成熟的解决方案。TICK技术栈,那TICK是什么呢? TI…

环保企业应适应行业发展趋势,不断创新和提升竞争力|中联环保圈

《2023年行业评述及2024年发展展望》一文,由中国环保产业协会撰写,全面审视了过去一年我国生态环保产业的发展状况,并对新的一年发展趋势进行了深度预测。该报告以行业主要政策标准为基础,结合报告以及新冠疫情防控转段后的经济恢…

海豚调度系列之:任务类型——SQL节点

海豚调度系列之:任务类型——SQL节点 一、SQL节点二、创建任务三、任务参数四、任务样例五、运行该任务成功之后在hive中查询结果六、使用前置sql和后置sql示例 一、SQL节点 SQL任务类型,用于连接数据库并执行相应SQL。 二、创建任务 点击项目管理-项…

SpringBoot配置达梦数据库依赖(达梦8)

maven配置 <!-- 达梦数据库 --><dependency><groupId>com.dameng</groupId><artifactId>DmJdbcDriver18</artifactId><version>8.1.1.193</version></dependency><dependency><groupId>com.alibaba&l…

已解决:android SDK安装时点击SDK Manager出现闪退

1、首先确保电脑里边安装了JDK&#xff0c;并且要把安装路径配置在环境变量里边&#xff0c;避免使用绝对路径 推荐%JAVA_HOME%\bin 2、在C:\Users\huanhuan\Desktop\android-sdk-windows\tools路径下找到android.bat文件打开&#xff0c;把set java_exe后改为jdk中java.exe的路…

关于stm32(CubeMX+HAL库)的掉电检测以及flash读写

1.掉电检测 CubeMX配置 只需使能PVD中断即可 但是使能了PVD中断后还需要自行配置一些PWR寄存器中的参数&#xff0c;我也通过HAL库进行编写 void PVD_config(void) {//配置PWRPWR_PVDTypeDef sConfigPVD; sConfigPVD.PVDLevel PWR_PVDLEVEL_7; …