![7ddcb2c6b82f75a7b9196b84894e8cc3.gif](https://i-blog.csdnimg.cn/blog_migrate/260e090032158d98708d09f6645edee2.gif)
AWTK是一个伸缩性极强的嵌入式图形框架,它的诞生会给GUI编程研发工程师带来哪些改变?
AWTK是一个伸缩性极强的嵌入式图形框架,可在Cortex-M3这样低端的单片机上运行,也可以在Cortex-A7/A8/A9等处理器,甚至DSP以及X86处理器上运行,既可支持小型RTOS系统,也能支持Linux、MacOS、iOS、Android操作系统,还能支持Windows操作系统、WEB以及各种小程序,可以说是一个全能的嵌入式GUI引擎。
AWTK的跨平台特性,使得应用程序开发也极为便利,在Windows上开发完成的程序,只需经过简单交叉编译即可下载至嵌入式目标板运行,且得到的效果是完全一样的,无需再进行任何修改。
AWTK的特点
AWTK旨在为用户提供一个功能强大、简单易用,能轻松做出炫酷效果的GUI引擎,具有如下特点:
1、开源、免费,用于商业无需付费;
2、高效:小巧高效,可运行在Cortex-M3等小资源平台(参考图1);
3、跨平台:支持跨多种操作系统,跨多种硬件平台(参考图2);
4、稳定:架构优秀,全方位检查测试,多平台验证以及强大后备技术支援;
5、功能强大:
支持硬件加速,支持视网膜高清分辨率技术;
拥有完善的动画系统,丰富的GUI控件;
支持位图字体和矢量字体;
内置中英文输入法,并支持智能词组输入;
支持多语言开发,支持国际化;
6、易用;
7、支持纯C语言编程;
8、支持组态方式开发界面,所见即所得;
9、提供完善的API手册、使用文档和大量示例代码:
支持纯C语言编程;
支持组态方式开发界面,所见即所得;
提供完善的API手册、使用文档和大量示例代码;
10、扩展性好:可扩展控件、动画、引擎等。
![a49ecf699f23db21e18c42f693f106ec.png](https://i-blog.csdnimg.cn/blog_migrate/e4ccc14cae8bff737844d70ebce35cd3.jpeg)
图1广泛处理器支持
![fa6f92f0a6dae20038e4554bb95aae74.png](https://i-blog.csdnimg.cn/blog_migrate/32d31a9daeea98628728e54c0afadb6f.jpeg)
图2多软件平台支持
AWTK开发环境
ZLG致远电子即将推出AWTK集成开发环境AWTK Designer,简化AWTK界面设计,开发者无需手写XML,采用拖拽方式即可完成界面设计,所见即所得。AWTK Designer本身就是采用AWTK编程实现,界面如图3所示。
![fcdb528dbd1d94cfee5fc75e71e027e4.png](https://i-blog.csdnimg.cn/blog_migrate/805cb838b3366570637d5e306d8e3f4b.jpeg)
图3AWTK 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的成长和发展。