OpenHarmony 项目群技术指导委员会(以下简称 “TSC”)- 跨平台应用开发框架 TSG 所孵化项目 —— ArkUI-X,近期已正式开源。
开发者基于一套主代码,就可以将在 OpenHarmony 上开发的精美、高性能应用同时运行在 Android、iOS 等其它 OS 平台上。
ArkUI-X 开源项目地址:https://gitee.com/arkui-x
01 ArkUI-X 诞生背景
随着越来越多设备的智能化,新的场景以及新的需求越来越分散,包括各类屏幕的支持(不同分辨率、尺寸等)、各类交互模式的支持(触控、语音,手势等)、各类不同能力的设备、以及设备之间的连续交互等。对于应用开发者而言,如何满足上述需求开发出精致流畅和一致体验的应用,挑战也越来越大。
基于如上技术挑战,OpenHarmony TSC 于 2022 年 4 月正式成立跨平台应用开发框架 TSG,成员包括华为、阿里、美的等多名资深技术专家。跨平台应用开发框架 TSG 对业界相关的跨平台应用开发框架所涉及的关键技术进行洞察分析,制定关键的演进策略,并开始构建跨平台应用开发框架项目 ——ArkUI-X。
02 ArkUI-X 主要介绍
ArkUI-X 是基于 OpenHarmony 官方原生框架 ArkUI 之上扩展的。ArkUI 在架构设计之初就是把跨平台作为一个重要特性考虑在内的,从代码的架构上就对各个平台做了解耦,可以方便地移植到不同的平台。同时 ArkUI 使用的核心引擎、图形引擎和 ArkTS 运行时等关键模块都是可以跨平台的。目的是让开发者基于一套主代码,就可以将在 OpenHarmony 上开发的精美、高性能应用同时可以运行在其它不同的 OS 平台上。ArkUI-X 开源项目的 “X” 可以理解为 “Cross”,将 ArkUI 扩展到不同的平台上,同时也代表了未来无限的可能。
ArkUI-X 的应用工程和最新的 OpenHarmony 保持一致,当前支持构建 OpenHarmony,Android 以及 iOS 的应用程序。ArkUI-X 的主要功能如下:
- 支持最新的 Stage 开发模型:支持基础的 AbilityStage 和 UIAbility 等能力,也支持多 module 的开发及运行。
- 支持 UI 基础组件跨平台,并且支持完整的状态管理能力。
- Resource 的资源格式也是跨平台的,不需要考虑不同平台下的资源处理,资源配置和访问的方式是保持一致的,并且支持多语言等能力。
- 对于开发时所使用的 API,都是 OpenHarmony 生态的标准 API,在跨平台上,支持标准 API 按照插件的方式按需打包。
- ArkUI-X 还提供了轻量的跨语言桥接机制,方便开发者快速扩展对应平台上已有的能力。
- ArkUI-X 还提供了和 OpenHarmony 一致的测试框架:测试工程的目录结构,同样也和 OpenHarmony 的工程保持一致。开发测试用例时,首先需要导入测试框架的 API,其中包含了测试脚本的基础流程以及 UI 模拟操作的 API。
03 ArkUI-X 实践案例
华为智慧生活应用内复杂单品详情页,之前在不同平台 (Android、iOS) 是分别进行开发的,维护成本较高。使用 ArkUI-X 跨平台项目后,复杂单品详情页代码一次编写支持运行到 Android、iOS 和 HarmonyOS(OpenHarmony 商用版)三个平台,新增支持一个平台成本反而下降,可复用跨平台代码占比高达 75%,并且有较好的性能体验。真正地做到了 “代码一次开发,三个平台部署”。
04 ArkUI-X 开源社区
ArkUI-X 是由 OpenHarmony TSC - 跨平台应用开发框架 TSG 所孵化的开源项目,更多关于基于 ArkUI-X 的应用开发手册、框架开发手册、ArkUI-X 版本包、ArkUI-X 样例代码、社区 Roadmap 等信息,可在 Gitee ArkUI-X 代码仓查阅。
ArkUI-X 代码仓地址:https://gitee.com/arkui-x
ArkUI-X-v1.0.0-Canary1 版本说明地址: https://gitee.com/arkui-x/docs/blob/master/zh-cn/release-notes/ArkUI-X-v1.0.0-canary1.md