鸿蒙开发ArkUI-X基础知识:【ArkUI跨平台设计总体说明】

 

 ArkUI跨平台设计总体说明

简介

本文档描述ArkUI开发框架跨平台运行能力相关的总体技术方案。

范围

ArkUI是面向全设备的UI开发框架,已通过OpenHarmony代码仓开源,其关键组成包括:

ArkUI-X旨在将ArkUI开发框架扩展至其他OS平台(Android/iOS/Windows等),使开发者能够基于ArkUI开发框架,复用绝大部分的应用代码(UI以及主要应用逻辑),即可部署到不同OS平台上。

假设和约束

本文提到的跨平台是指UI部分的跨平台,其UI代码可以重用,其它应用对平台依赖的能力,需要应用层面进行适配,或通过JS API封装机制(NAPI),进行实现暴露到JS层。

涉及平台能力的JS API(比如网络、存储等)请参考OpenHarmony中的定义,需要通过在不同平台的封装实现达到复用的目的。

本文主要是通用方案设计说明,并以Android平台做为示例说明,其他平台的基本设计思路类似,但相关设计需进一步细化补充。

总体视图

从设计之初,跨平台就作为ArkUI最基本的设计目标之一,当前已支持基础的跨平台架构。相关的设计思路如下:

  1. 采用 C++  编写整体后端引擎代码,保持在多平台的可移植性,最小化平台依赖,降低平台移植成本。
  2. 整体绘制采用自渲染机制,降低平台依赖,同时进一步提升绘制效果的一致性。
  3. 抽象出平台适配层以及平台桥接层,以便不同平台的适配。

模块功能介绍

ArkUI主要包括以下几个模块:

  1. 研发模型,兼容OpenHarmony应用的Stage开发模型,支持基于ArkTS的声明式开发范式,可跨平台。
  2. 声明式UI后端引擎,包括布局,渲染,C++ UI组件,事件机制等,可跨平台。
  3. API扩展机制,基于NAPI机制,可跨平台。 不同平台需要各自扩展具体的API实现。
  4. 工具链/SDK, 工具链可跨平台,SDK需基于不同平台构建。

另外,ArkUI依赖的ArkTS引擎以及图形引擎,也可跨平台。

ArkUI声明式UI后端引擎,主要完成整体pipeline流程控制、视图更新、布局系统、多页面管理、事件分发和回调、焦点管理、动画机制、主题机制、资源管理/缓存/provider等。 其中的UI组件,主要通过显示相关组件细粒度化,动画、事件、焦点等机制组件化,满足适配不同前端所需要的灵活性。

整体的跨平台需求,就是扩展ArkUI开发框架到其他OS平台,帮助开发者降低多平台应用开发成本。

通过ACE Tools命令行工具创建跨平台应用工程,开发者基于一套主代码,就可以构建支持多平台的精美、高性能应用。

方案设计

跨平台应用包结构设计

跨平台应用目录结构,包含一套为ArkUI-X开发者提供的应用工程模板,提供构建OpenHarmony应用、Android应用、iOS应用的能力。应用工程包结构设计如下:

ArkUI-X应用工程
  ├── .arkui-x
  │   ├── android                 // Android平台相关代码
  │   └─
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值