描述描述

📒 概述与总览

功能架构

ArkUI Lite轻量图形应用框架是OpenHarmony为开发者提供的一套轻量设备UI开发框架,其中包括了轻量图形渲染组件,应用组件,应用管理组件,JS组件,开发工具等;除提供和开源框架LVGL等同的图形渲染能力,其更提供了独有的应用开发,应用安装、卸载能力,更适合于当前轻量设备的发展。

  • JS-UI框架: 提供了JS Kit和JS运行时框架, 其中JS Kit提供给应用开发者开发应用,运行时主要负责解析JS语法,并转换成Native实现。

  • AMS: 全称Ability Manager Service, 负责ability的管理,调度,切换等。

  • BMS: 全程Bundle Manager Service, 负责轻量应用包解析和安装。

  • Native-UI框架: UIKit接口, 使用C++语言开发,性能好,主要用于做预置应用。

  • HAL接口: 提供gfxBaseEngine接口,实现图形渲染框架和送显刷新能力,对接硬件加速绘制能力和屏幕显示功能;提供InputDevice接口,响应点击、拖动、输入等事件,对接触摸屏、键盘等输入设备。

img

适配平台

ArkUI Lite是适用于各种平台,操作系统包括LiteOS,RTOS,RTT等,轻量芯片都可以使用:展锐8910(用于POS机), 恒玄2600(用于各种面板等),海思3321(Watch产品)等等都集成了此框架。
可应用于各种智能硬件,消费电子类:翻译笔,音箱,手表;智能家居设备:中控面板; 家电:电动车,冰箱等;工业:各种显示仪表等;金融:泛POS机等

功能丰富

北向应用提供了native和JS两种方式来创建各种GUI应用,其内置20+控件,多种样式,弹性布局和各种交互事件,还支持应用动态安装,更新,卸载等; 但是它只需要分别占用<1.5M的ROM和RAM。

描述描述

🚀 特性

可移植/免费

  1. 一个完全可移植开源的 C(C++ 兼容)库。
  2. 支持JavaScript语言快速开发UI应用。
  3. 可以编译集成到任何LiteOS, RTOS, RTT等操作系统。
  4. 南向提供了标准的接口,包括Display, GPU, Input, Touch等,简化驱动设备的适配过程。

丰富的组件

  1. 20+内置控件: 按钮、标签、滑块、图表、二维码,图片,动画,进度条等等。
  2. 支持多种颜色格式,包括RGB/RGBA/HEX/枚举格式。
  3. Flex布局可以响应式自动调整控件的大小和位置。
  4. 轻量渲染引擎支持动画、抗锯齿、不透明度、平滑滚动、图形变换等,还支持硬件加速。
  5. 支持触摸板、外部按键,分布式等输入设备。

🤖 应用开发示例

应用开发工具

  1. 提供了统一的开发工具DevEco
  2. 支持JS轻应用编辑联想等能力。
  3. 支持JS界面previewer和profile调测。
  4. JS应用支持安装到板子上运行。
  5. 对于Native应用,也提供了 Qt模拟器,实现界面的调测和预览。

应用开发实例

  1. list开发示例

​ 具体开发过程参考联系人应用代码示例

  1. 动画与事件开发示例

​ 具体开发过程参考天气应用代码示例

📦 框架移植

总体方案

  1. 使用原生方案提供的交叉编译工具链编译此框架为静态库。
  2. 将静态库集成到原生代码中。
  3. 适配框架依赖的接口,包括display, input, cmsis等。
  4. 也可以直接源码集成。

编译OpenHarmony静态库

此方案介绍用原生系统的交叉编译工具链,通过OpenHarmony编译子系统编译ArkUI Lite相关子模块。

具体方法参考编译手册

原生系统集成

此方案不改变原生代码的编译系统和打包系统,不使用LiteOS-M内核,在原生代码中新增适配代码,适配OpenHarmony需要的接口,然后将编译的OpenHarmony相关静态库集成到原生代码中。

具体方法参考集成手册

🌟 北向接口标准

  1. JS API

    参考 Openharmony官网地址

  2. 扩展API

    参考Laval社区L0设备 JS API扩展定义
    如果需要增强, 可以在帖子下留言, 我们会考虑合入。

🤝 互联互通标准

共建中。

❤️ 行业应用样例

  1. POS机 -- 新国都 NEXGO

    描述 描述 描述
  2. Watch

    描述 描述 描述

🚀 未来规划

2024年:
1. 2.5D GPU支持
2. 互联互通
3. 图片/字体工具

2025年:
1. 3D GPU支持
2. 轻量AI框架
3. 其他

💻 技术支持

  1. 请联系Laval社区 (csdn.net)
Logo

社区规范:仅讨论OpenHarmony相关问题。

更多推荐