作者:yuzhiqiang,UI编程框架首席技术专家
在Harmony 3.0.0开发者预览版中,包含了新一代的声明式UI框架ArkUI 3.0、多语言跨平台编译器ArkCompiler 3.0、跨端开发工具DevEco Studio3.0,以及基于TS/JS语言的API 7,全面提升开发者体验。
本期,我们要为大家重点介绍HarmonyOS新一代声明式UI框架ArkUI 3.0。
目录
一、UI编程框架
在介绍ArkUI 3.0之前,我们先来简要了解一下什么是UI编程框架。
UI编程框架,是为应用开发者提供的开发UI的基础设施,主要包括UI控件(按钮/列表等),视图布局(摆放/排列相应的UI控件),动画机制(动画设计以及效果呈现),交互事件处理(点击/滑动等),以及相应的编程语言和编程模型等。从系统运行的维度来看,UI编程框架也包括一个运行时,负责应用在系统中执行时所需的资源加载、UI渲染和事件响应等。
总体而言,UI编程框架提供了开发以及运行UI界面所需要的框架能力,主要架构如下图所示:
图1 UI编程框架
- 开发模型:对开发者提供开发范式、UI控件/布局/动效/交互、编程语言等。它体现的是开发效率与难易程度。
- 运行框架:UI界面渲染及交互的基础能力框架,包括相应的布局引擎、控件机制、动效引擎、事件机制、渲染管线等,并结合语言虚拟机和图形引擎,将开发者的程序运行在具体系统平台上。它体现的是应用运行的性能体验。
- 平台适配:承载框架的具体操作系统或平台适配层。
UI编程框架的关键需求,主要有以下两类:
- 开发效率:包括代码量、学习曲线、工具、社区、三方库完备度等。
- 性能体验:包括启动速度、帧率、响应时延、酷炫效果、资源占用等。
另外,随着智能设备的急剧增长,UI编程框架还需要考虑如何更好地适配不同设备的差异性,包括设备形态差异(比如屏幕形状、尺寸、分辨率、交互模式等),以及设备能力差异(比如内存、CPU、GPU等)。
二、ArkUI框架的演进
为了更好地满足开发效率和性能体验等相关的需求, ArkUI 3.0综合考虑了UI渲染以及语言和运行时,围绕着极简开发、高性能、跨设备跨平台进一步演进。下图描述了ArkUI整体架构的演进:
图2 ArkUI框架演进