HarmonyOS的ArkUI框架的新特性主要包括以下几点:
声明式Canvas绘制能力:
- ArkUI通过Canvas组件对外提供高性能2D绘制能力,满足多种场景自定义绘制诉求。
- Canvas组件提供绘制路径、矩形、圆形、字符以及图像等多种方法。
- 利用现有Web Canvas生态,参考W3C的Canvas接口,无需引入Web引擎,给开发者提供了一个轻量化的2D绘制能力。
- 结合声明式语法,兼顾开发者绘制习惯,并基于GPU渲染加速。
高性能混合开发能力:
- 为满足三方渲染引擎接入,如游戏、地图等,提供了XComponent组件。
- XComponent支持C++/ArkTS混合开发,作为ArkTS组件,具备通用声明式组件的属性,可进行布局、事件等的声明式业务开发。
- 开发者可以使用OS对外提供的Native API实现Native的业务开发,XComponent负责将Native开发的逻辑和ArkTS的开发逻辑结合,完成统一渲染送显。
多样化布局能力:
- 提供相对布局容器、灵活锚点能力、以及自定义布局能力。
- 相对布局容器可以简化复杂布局,使布局更扁平化,更易于开发者开发。
- 灵活锚点让绝对定位能力更强大,通过position和markAnchor配合使用可以实现丰富的绝对定位效果。
- 允许开发者自定义布局,通过暴露测量和布局的接口,允许开发者自己测量子组件和设置子组件位置。
一多组件能力:
- 针对不同设备、不同分辨率的多平台场景,增强了一多场景的分栏组件能力。
- 分栏组件能自动根据断点调整为二分栏或三分栏,侧边栏也有嵌入式和悬浮式两种显示方式。
- 增强了列表的吸顶/吸底能力,并新增了列表的手势删除列表项功能,用户可以通过左滑或右滑删除某一列表项,并内置动画效果。
UI动态化能力:
- 为满足大型应用的局部更新需求,提供动态化模板能力。
优化与扩展:
- ArkUI通过使用编译器生成特定函数的方式将UI组件更新和数据变更进行细粒度地绑定,实现UI更新Diff算法的优化。
- 逻辑和UI分离通过利用数据双向绑定机制传递页面变化逻辑,简化了开发流程。
- 提供了基于XComponent组件的C++自绘制引擎接入能力和基于Web组件的HTML5/Web的渲染能力,降低了复杂应用移植的门槛。
组件化与状态管理:
- ArkUI框架将界面拆分成独立的组件,提高了开发效率和代码的复用性。
- 提供了方便的状态管理机制,开发者可以轻松地定义和更新界面状态,框架会自动根据状态的变化更新界面显示。
这些新特性使得ArkUI框架在HarmonyOS应用开发中具有更高的效率和灵活性,为开发者提供了更强大的工具来构建高效、美观的用户界面。
HarmonyOS的ArkUI框架是专为HarmonyOS应用开发设计的UI开发框架,它提供了一系列丰富的组件和API,以帮助开发者构建流畅、美观的用户界面。以下是ArkUI框架的一些新特性: