前不久,我分享过一篇关于GUI的文章《》,今天继续分享一篇周立功的的开源GUI:AWTK。
ZLG立功科技开源了一款GUI系统——AWTK(Toolkit AnyWhere),源码链接:
主源码仓库:https://github.com/zlgopen/awtk
镜像源码仓库:https://gitee.com/zlgopen/awtk
AWTK简介
AWTK是一个伸缩性极强的嵌入式图形框架,可在Cortex-M3这样低端的单片机上运行,也可以在Cortex-A7/A8/A9等处理器,甚至DSP以及X86处理器上运行,既可支持小型RTOS系统,也能支持Linux、MacOS、iOS、Android操作系统,还能支持Windows操作系统、WEB以及各种小程序,可以说是一个全能的嵌入式GUI引擎。
AWTK是一款
跨平台
的GUI系统。目前支持的平台有 ZLG AWorks、Windows、Linux、MacOS、嵌入式 Linux,以后可能也会在浏览器 (即将公测)、各种小程序、Android 和 iOS 等平台上运行。
AWTK 提供了一套跨平台的基础工具库。其中包括链表、数组、字符串 (UTF8 和 widechar),事件发射器、值、对象、文件系统、互斥锁和线程、表达式和字符串解析等等。
AWTK主要特色
AWTK旨在为用户提供一个功能强大、简单易用,能轻松做出炫酷效果的GUI引擎,具有如下特点:
1、开源、免费,用于商业无需付费;
2、高效:小巧高效,可运行在Cortex-M3等小资源平台(参考图1) ;
3、跨平台:支持跨多种操作系统,跨多种硬件平台(参考图2) ;
4、稳定:架构优秀,全方位检查测试,多平台验证以及强大后备技术支援;
5、功能强大:
- 支持硬件加速,支持视网膜高清分辨率技术;
- 拥有完善的动画系统,丰富的GUI控件;
- 支持位图字体和矢量字体;
- 内置中英文输入法,并支持智能词组输入;
- 支持多语言开发,支持国际化;
6、易用;
7、支持纯C语言编程;
8、支持组态方式开发界面,所见即所得;
9、提供完善的API手册、使用文档和大量示例代码:
- 支持纯C语言编程;
- 支持组态方式开发界面,所见即所得;
- 提供完善的API手册、使用文档和大量示例代码;
10、扩展性好:可扩展控件、动画、引擎等。
图1 广泛处理器支持
图2 多软件平台支持
AWTK开发环境
ZLG致远电子即将推出AWTK集成开发环境AWTK Designer,简化AWTK界面设计,开发者无需手写XML,采用拖拽方式即可完成界面设计,所见即所得。AWTK Designer本身就是采用AWTK编程实现,界面如图3所示。
图3 AWTK Designer界面
AWTK优势
AWTK平台是一套基于C语言的跨平台GUI开发框架,可用于开发物联网、消费电子、工业控制、汽车电子、智能家居等领域的应用产品,旨在为用户提供一个功能强大、高效可靠、简单易用、可轻松做出炫酷效果的GUI开发解决方案,使用户开发GUI应用就像开发串口应用一样简单。开发流程如图5所示。
优势,让懂的人一眼就明白:
1、支持纯C语言编程;
2、支持跨多种操作系统,跨多种硬件平台,小巧高效;
3、拥有完善的动画系统,丰富的GUI控件,支持硬件加速;
4、支持位图字体和矢量字体;
5、内置中英文输入法,并支持智能词组输入;
6、支持视网膜高清分辨率技术;
7、支持组态方式开发界面,所见即所得;
8、支持界面与逻辑分离技术,用脚本直接编写逻辑;
9、支持云端模板和组件市场,构建开发生态圈。
AWTK运行效果
1、官方效果图
2、运行在Cortex-M3内核的STM32上
上面是作者正念移植到STM32实现的效果,热衷于GUI的小伙伴可以尝试一下。
‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧ END ‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧