OpenHarmony ArkUI Lite 轻量图形应用开发框架
概述与总览 功能架构 ArkUI Lite轻量图形应用框架是OpenHarmony为开发者提供的一套轻量设备UI开发框架,其中包括了轻量图形渲染组件,应用组件,应用管理组件,JS组件,开发工具等;除提供和开源框架LVGL等同的图形渲染能力,其更提供了独有的应用开发,应用安装、卸载能力
📒 概述与总览
功能架构
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接口,响应点击、拖动、输入等事件,对接触摸屏、键盘等输入设备。
适配平台
ArkUI Lite是适用于各种平台,操作系统包括LiteOS,RTOS,RTT等,轻量芯片都可以使用:展锐8910(用于POS机), 恒玄2600(用于各种面板等),海思3321(Watch产品)等等都集成了此框架。
可应用于各种智能硬件,消费电子类:翻译笔,音箱,手表;智能家居设备:中控面板; 家电:电动车,冰箱等;工业:各种显示仪表等;金融:泛POS机等
功能丰富
北向应用提供了native和JS两种方式来创建各种GUI应用,其内置20+控件,多种样式,弹性布局和各种交互事件,还支持应用动态安装,更新,卸载等; 但是它只需要分别占用<1.5M的ROM和RAM。
🚀 特性
可移植/免费
- 一个完全可移植开源的 C(C++ 兼容)库。
- 支持JavaScript语言快速开发UI应用。
- 可以编译集成到任何LiteOS, RTOS, RTT等操作系统。
- 南向提供了标准的接口,包括Display, GPU, Input, Touch等,简化驱动设备的适配过程。
丰富的组件
- 20+内置控件: 按钮、标签、滑块、图表、二维码,图片,动画,进度条等等。
- 支持多种颜色格式,包括RGB/RGBA/HEX/枚举格式。
- Flex布局可以响应式自动调整控件的大小和位置。
- 轻量渲染引擎支持动画、抗锯齿、不透明度、平滑滚动、图形变换等,还支持硬件加速。
- 支持触摸板、外部按键,分布式等输入设备。
🤖 应用开发示例
应用开发工具
- 提供了统一的开发工具DevEco。
- 支持JS轻应用编辑联想等能力。
- 支持JS界面previewer和profile调测。
- JS应用支持安装到板子上运行。
- 对于Native应用,也提供了 Qt模拟器,实现界面的调测和预览。
应用开发实例
- list开发示例
具体开发过程参考联系人应用代码示例。
- 动画与事件开发示例
具体开发过程参考天气应用代码示例。
📦 框架移植
总体方案
- 使用原生方案提供的交叉编译工具链编译此框架为静态库。
- 将静态库集成到原生代码中。
- 适配框架依赖的接口,包括display, input, cmsis等。
- 也可以直接源码集成。
编译OpenHarmony静态库
此方案介绍用原生系统的交叉编译工具链,通过OpenHarmony编译子系统编译ArkUI Lite相关子模块。
具体方法参考编译手册。
原生系统集成
此方案不改变原生代码的编译系统和打包系统,不使用LiteOS-M内核,在原生代码中新增适配代码,适配OpenHarmony需要的接口,然后将编译的OpenHarmony相关静态库集成到原生代码中。
具体方法参考集成手册。
🌟 北向接口标准
JS API
参考 Openharmony官网地址。
扩展API
参考Laval社区L0设备 JS API扩展定义。
如果需要增强, 可以在帖子下留言, 我们会考虑合入。
🤝 互联互通标准
共建中。
❤️ 行业应用样例
POS机 -- 新国都 NEXGO
Watch
🚀 未来规划
2024年:
1. 2.5D GPU支持
2. 互联互通
3. 图片/字体工具
2025年:
1. 3D GPU支持
2. 轻量AI框架
3. 其他
💻 技术支持
更多推荐
所有评论(0)