HarmonyOS ArkUI框架的实现原理和落地实践
如果无法正常显示,请先停止浏览器的去广告插件。
1. HarmonyOS ArkUI框架的实现
原理和落地实践
徐礼文
北京铧芯科技 CTO
2.
3.
4. •
ArkUI在OpenHarmony上的实践和落
地
• HarmonyOS操作系统特性 • 三大特性 • • 生态体系目标 • ArkUI在OpenHarmony平台上的能力
• HarmonyOS UI设计目标 • ArkUI在铧芯科技的落地与实践
• 设计难点 • ArkUI框架解读 • ArkUI JS • ArkUI eTS
OpenHarmony社区支持芯片平台介绍
5. • HarmonyOS操作系统特性
• 一套操作系统可以满足大大小小的设备需求,弹性部署
• 硬件互助,资源共享
• 面向开发者,实现一次开发,多端部署
• HarmonyOS 1+8+N生态体系
• 1+8+N (HarmonyOS connect解决方案)
• openHarmony打造千行百业基础底座
6. 是一款分布式操作系统。
面向全场景智慧生活
基于同一套系统能力、适配多种终端形态
的分布式理念。
7. 统一OS弹性部署 硬件互助资源共享 一次开发多端部署
一套操作系统可以满足,大大小小设备需求 设备在系统层面融为一体,形成超级终端 写一次逻辑代码开发跨端,无缝流转的服务
8. HarmonyOS
生态体系目标
华为手机
华为主要做
的 8 个领域
HarmonyOS
Connect 解决方案
N是指由生态系
统合作伙伴提供
的的智能设备
9. OpenHarmony打造千行百业的操作系统基座
OpenHarmony
10. • HarmonyOS UI设计难点与解决策略
• 多设备的形态差异
• 多设备的能力差距
11.
12.
13.
14.
15.
16. Javascript引擎
JerryScript内存少于
64 KB的设备上执行
ECMAScript 5.1源代
码。
QuickJS是一个小型并
且可嵌入的Javascript
引擎。
V8是Google开源的
JavaScript和
WebAssembly引擎,用
C++编写。
17. • ArkUI JS • ArkUI 分布式案例
• ArkUI JS 技术架构 • ArkUI分布式游戏
• ArkUI JS 类web开发范式 • • ArkUI eTS ArkUI分布式App
• ArkUI eTS 技术架构 • ArkUI eTS 声明式开发范式 • ArkUI API • ArkUI分布式API介绍
18. ArkUI介绍
2021.10
HDC 正式发布ArkUI
ArkUI是一套构建分布式应用界面的声明式UI
开发框架。
ArkUI采用ArkCompiler作为语言运行环境
ArkUI是华为用于替换Java的开发方案
19.
20. • ArkUI JS 轻量级开发
• ArkUI JS 技术架构
• ArkUI JS 类web开发范式
21. ArkUI JS 特性
22. ArkUI JS 架构图
23. ArkUI JS 运行流程
24. ArkUI JS 应用示例
25. • ArkUI eTS 富设备开发
• ArkUI eTS 技术架构
• ArkUI eTS 声明式开发范式
26.
27. ArkUI vs Flutter
声明式UI
SwiftUI
28. ArkUI eTS架构图
声明式前端
范式语法基础规范
UI布局/动画组件
状态管理
支持混合编程
语言运行时
C++/JS/TS混合编程
声明式UI后端引擎
前后端解耦
跨语言调用 统一字节码 基础控件、布局、动效、事件 统一字节码
类型系统 AOT 组件状态管理 内存管理
GC 机制
自绘制渲染管线
统一渲染引擎
避免重复渲染、客户端把自己的渲染内容提交给统一渲染引擎
优化系统运行效果。
独立的渲染线程,位
于应用内部。
作用:CPU可以多线
程工作,为GUP提供
更多的渲染素材
29.
30.
31. ArkUI eTS
32. • ArkUI API介绍
• 远程启动Ability
• 分布式多设备自动连接
• 访问远程Ability
• 分布式迁移与调度
• 分布式数据库操作
33.
34.
35.
36.
37.
38. • ArkUI 案例分享
• ArkUI 分布式游戏
• ArkUI 分布式音频视频
• ArkUI 分布式画板
• ArkUI 分布式设备调度(hispark小车)
• ArkUI 分布式点餐应用
39.
40.
41.
42.
43.
44.
45. • ArkUI在OpenHarmony上的实践和落地
• OpenHarmony社区支持芯片平台介绍
• ArkUI在OpenHarmony平台上的能力
• ArkUI在铧芯科技的落地与实践
• ArkUI的定制化开发介绍
46.
47.
48.
49.
50.
51. • ArkUI在OpenHarmony平台上的能力
• 分布式协作能力
• 基于XComponent的C++/TS混合开发能力
• 基于Web组件的HTML5/TS开发能力
52. 在游戏、地图等应用场景,原生组件往往不能满足需求,开发者需要进行独立渲染。为此,ArkUI
框架提供了基于XComponent组件的C++/TS开发能力,以支持独立渲染场景。
53. 针对应用内嵌网页(网页可能是本地页面,也可能是网络页面)、浏览器等场景,ArkUI框架提
供了基于Web组件的HTML5/TS开发能力,支持本地和网络的HTML5页面渲染,也支持在
HTML5页面与Web组件之间进行数据传递。
54. ArkUI在铧芯科技的落地与实践
ArkUI行业定
制版
openHarmony
开发培训与赋
能
HarmonyOS
Connect解决
方案
55. ArkUI在铧芯科技的落地与实践
教育行业解决方案 教育桌面 教育应用App 教育子模块扩展 教育互助设备
家居智能解决方案 家居中控桌面 家居应用App 教育子模块扩展 家居互助设备
医疗智能解决方案 医疗类桌面 医疗应用App 医疗子模块扩展 医疗互助设备
少儿编程教育解决方案 编程工具 编程应用App 编程课程输出 编程互助设备
56. • ArkUI内置组件定制
• applications_launcher
• applications_settings
• systemui
57. OpenHarmony / applications_launcher
Launcher作为系统人机交互的首要入
口,提供应用图标的显示、点击启动、
卸载应用,并提供桌面布局设置以及最
近任务管理等功能。
58. OpenHarmony / applications_settings
设置应用是OpenHarmony系统中预置的系统应
用,为用户提供设置系统属性的交互界面,例如设
置系统时间,屏幕亮度等系统属性。
59. OpenHarmony / systemui
SystemUI应用是OpenHarmony中预置的系统应用,为用户提供系统相关信息展示及交互界面,包括
系统状态、系统提示、系统提醒等,例如系统时间、电量信息。
60.
61.
62.
63.