前言
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设备。全新的全场景设备体验,正深入改变消费者的使用习惯。同时应用开发者也面临设备底座从手机单设备到全场景多设备的转变。
-
当前移动应用开发面对新场景面临的主要挑战
- 针对不同设备上的不同操作系统,重复开发,维护多套版本。
- 多种开发框架,不同的编程范式。
- 多种语言栈,对开发人员技能要求高。
- 命令式编程,需要关注细节,变更频繁,维护成本高。
-
移动端应用生态面临变革
-
传统应用的优缺点
- 优点
- 功能齐全
- 整体体验好
- 缺点
- 厚重
- 开发周期长、成本高
- 信息,应用孤岛
- 以应用为中心,而非以用户为中心
- 需要用户主动关注等显性操作
- 优点
-
轻量化程序实体正成为新的趋势
据统计,目前全网小程序的数量已经突破 700万+。
轻量化的程序实体所具备的*“即用即走、无需安装卸载、永远最新”*的特征,推动了 App 基于搜索下载的“人找应用”的传统分发向“服务找人”的智慧分发的演进。
-
-
鸿蒙生态迎接挑战
- 单一设备延伸到多设备
应用一次开发就能在多个设备上运行,软件实体能够从单一设备转移到其他设备上,且多个设备间能够协同运行,给消费者提供全新的分布式体验。 - 厚重应用模式到轻量化服务模式
提供轻量化的服务,最小化资源消耗,一步直达(原子化服务+服务卡片),快速完成消费者特定场景的任务。 - 集中化分发到 AI 加持下的智慧分发
为消费者提供智慧场景服务,实现“服务找人”。系统根据用户的行为形成一个用户的兴趣画像,这样系统就能智能推荐用户需要的服务。 - 纯软件到软硬芯协同的 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 全链路自研工具:
- 全链路自研工具
面向鸿蒙生态的声明式开发套件,包含了鸿蒙生态应用从设计、开发、测试、上架所需的关键技术和产品。(鸿蒙指华为终端鸿蒙智能设备操作系统软件)
- HUAWEI DevEco Studio
集成开发环境IDE
面向HarmonyOS应用及元服务开发者提供的集成开发环境(IDE), 助力高效开发。
- ArkTs
ArkTS是鸿蒙生态的应用开发语言。它在保持TypeScript(简称TS)基本语法风格的基础上,对TS的动态类型特性施加更严格的约束,引入静态类型。同时,提供了声明式UI、状态管理等相应的能力,让开发者可以以更简洁、更自然的方式开发高性能应用。
- ArkUI
ArkUI跨端界面开发框架
ArkUI是一套构建分布式应用界面的声明式 UI 开发框架。它使用极简的 UI 信息语法、丰富的 UI 组件、以及实时界面预览工具,帮助开发者提升 HarmonyOS 应用界面开发效率。
- ArkCompiler
ArkCompiler是华为自研的统一编程平台,包含编译器、工具链、运行时等关键部件,支持高级语言在多种芯片平台的编译与运行,并支撑应用和服务运行在手机、个人电脑、平板、电视、汽车和智能穿戴等多种设备上的需求。
AOT 编译模式
ArkCompiler利用ArkTS的静态类型信息,进行类型推导并生成对象描述和内联缓存,加速运行时对字节码的解释执行;AOT(Ahead-of-Time)Compiler利用静态类型信息直接将字节码编译生成优化机器码,让应用启动即可运行高性能代码,提升应用启动和运行性能。
LiteActor 轻量化并发
ArkCompiler运行时在HarmonyOS上提供了Worker API支持并发编程。在运行时实例内存隔离的基础上,ArkCompiler通过共享运行实例中的不可变或者不易变的对象、内建代码块、方法字节码等技术手段,优化了并发运行实例的启动性能和内存开销。
源码安全
ArkCompiler 会把 ArkTS/TS/JS 编译为方舟字节码,运行时直接运行方舟字节码。并且 ArkCompiler 使用多种混淆技术提供更高强度的混淆与保护,使得HarmonyOS应用包中装载的是多重混淆后的字节码,有效提高了应用代码安全的强度。
- DevEco Testing
HarmonyOS 应用和设备测试解决方案,助力开发者全面高效测试。
HarmonyOS 应用测试
HarmonyOS Connect 设备测试
- HarmonyOS 砖块
- 应用与服务API
- 鸿蒙智联的api,连接我们的 IOT 设备,方便我们的设备走向智能化
- HarmonyOS 底座(8大领先技术)
- 分布式技术
- AI
- 原子化服务
- 通信
- 影像
- 音视频
- 图形渲染
- 隐私和安全框架
开源开放的生态环境
华为商用的 HarmonyOS 与 开源开放的 OpenHarmony 区别:
- OpenHarmony
OpenHarmony 是由开放原子开源基金会(OpenAtom Foundation)孵化及运营的开源项目,开放原子开源基金会由华为、阿里、腾讯、百度、浪潮、招商银行、360等十家互联网企业共同发起组建。目标是面向全场景、全连接、全智能时代,基于开源的方式,搭建一个智能终端设备操作系统的框架和平台,促进万物互联产业的繁荣发展
从 Open 就可以看出,他是一个开源项目,是由华为雇了一帮人,然后由这些人commit代码,最后华为把 HarmonyOS 中基础功能提取出来,打包成功一个项目叫做“Openharmony” ,把 Openharmony 捐献给了原子开源基金会。
- HarmonyOS
HarmonyOS 是华为是基于 OpenHarmony、AOSP等开源项目开发的面向多种全场景智能设备的商用版本。