AWTK 是一个伸缩性极强的嵌入式图形框架,可在 Cortex-M3 这样低端的单片机上运行,也可以在 Cortex-A7/A8/A9 等处理器,甚至 DSP 以及 X86 处理器上运行,既可支持小型 RTOS 系统,也能支持 Linux、MacOS、iOS、Android 操作系统,还能支持 Windows 操作系统、WEB 以及各种小程序,可以说是一个全能的嵌入式 GUI 引擎。

AWTK 的跨平台特性,使得应用程序开发也极为便利,在 Windows 上开发完成的程序,只需经过简单交叉编译即可下载至嵌入式目标板运行,且得到的效果是完全一样的,无需再进行任何修改。

 

一、AWTK 的特点

AWTK 旨在为用户提供一个功能强大、简单易用,能轻松做出炫酷效果的 GUI 引擎,具有如下特点:

 

    开源、免费,用于商业无需付费

 

    高效:小巧高效,可运行在 Cortex-M3 等小资源平台(参考图 1)

 

    跨平台:支持跨多种操作系统,跨多种硬件平台(参考图 2)

 

    稳定:架构优秀,全方位检查测试,多平台验证以及强大后备技术支援

 

    功能强大

 

    支持硬件加速,支持视网膜高清分辨率技术

 

    拥有完善的动画系统,丰富的 GUI 控件

 

    支持位图字体和矢量字体

 

    内置中英文输入法,并支持智能词组输入

 

    支持多语言开发,支持国际化

 

    易用

 

    支持纯 C 语言编程

 

    支持组态方式开发界面,所见即所得

 

    提供完善的 API 手册、使用文档和大量示例代码

 

    支持纯 C 语言编程

 

    支持组态方式开发界面,所见即所得

 

    提供完善的 API 手册、使用文档和大量示例代码

 

    扩展性好:可扩展控件、动画、引擎等

 

图 1  广泛处理器支持

 

图 2  多软件平台支持

 

二、    AWTK 开发环境

广州致远电子即将推出 AWTK 集成开发环境 AWTK Designer,简化 AWTK 界面设计,开发者无需手写 XML,采用拖拽方式即可完成界面设计,所见即所得。AWTK Designer 本身就是采用 AWTK 编程实现,界面如图 3 所示。

 

图 3  AWTK Designer 界面

 

三、 前景展望

在 AWTK 诞生以前,没有哪一款 GUI 能具有如此广泛的覆盖性以及如此良好的伸缩性和延展性。此前的 GUI,往往都是聚焦于某一类处理器或者某几个平台,要么只支持某一些列处理器,要么只支持有限几个软件平台,这个现状如今被 AWTK 打破。AWTK 将成为一个可用于嵌入式、手机和 PC 的通用 GUI 系统。

 

AWTK 采用 LGPL 协议发布,任何人或者组织都能获取到源码,并可用于商业用途而无需付费。与现有商业 GUI 相比,既能为开发者节省不少授权费用,而且能掌握全部源码,也能为开发者提供更有力量的信心保证,仅从这两点而言,对开发者都是极具吸引力的。这势必能吸引众多嵌入式开发者加入 AWTK 生态,并为 AWTK 生态添砖加瓦。

 

AWTK 的多种语言开发特性,能吸引更多掌握不同语言技能的开发者。目前大多数 GUI,都仅支持某一种单一语言,C 或者 C++,而 AWTK 目前已经支持 C、Lua、Javascript on jerryscript、Javascript on nodejs 等不同编程语言,将来还能支持其他开发语言。这样既能为开发者提供编程便利,也能进一步拓宽 AWTK 的应用领域和使用人群。

 

AWTK 与 Linux 的结合,可谓相得益彰,为嵌入式 Linux 的 GUI 开发者带来了福音,Linux 生态也会促进 AWTK 的成长和发展。