跟着手机、智能手表等便携式设备的遍及,用户对GUI的要求越来越高,嵌入式体系对GUI的需求也越来越火急,本文将为咱们介绍一个轻型、占用资源少、高功用、高牢靠、便于移植、可装备及漂亮的GUI编程结构。
一、什么是嵌入式GUI?
图形用户界面(Graphical User Interface,简称
GUI,又称图形用户接口)是指选用图形方法显现的计算机操作用户界面。嵌入式GUI即在嵌入式设备上运用显现屏去显现操作界面,首要用来与用户互动。

二、市面上常见的GUI
当时市面上干流的嵌入式 GUI 首要有:emWin(uCGUI),TouchGFX,Embedded Wizard GUI,以及QT。
TouchGFX 是这两年才发布的嵌入式 GUI,以界面富丽,流通以及微弱的 TouchGFX Designer著称。美中不足的是 TouchGFX
是要收费的。
Embeded Wizard GUI 也是这两年才发布的嵌入式 GUI,相同以富丽,流通的界面和微弱的GUIBuilder 著称。首创 Chora
界面编程言语,让咱们的界面编程极端简略,GUIBuilder 上面含有十分多的控件,皮肤和主题供用户挑选,且支撑调试。 美中不足的是 Embeded
Wizard GUI 也是要收费的。
emWin 归于老牌的嵌入式 GUI 了,有着十几年的前史,软件架构和功用比较成熟了。可是做出来比较炫的作用十分费事,且不支撑较为杂乱的控件。

QT是是一个1991年由Qt
Company开发的跨渠道C++图形用户界面使用程序开发结构。现在运用Linux操作体系的GUI规划大多数是根据QT开发的。
以下是各种GUI比照表:

三、AWTK使UI像iPhone相同
AWTK是ZLG集团旗下致远电子开源的GUI引擎,其涵义有两方面:
AWorks Toolkit:AWorks渠道内置GUI
Toolkit AnyWhere:为嵌入式、手机和PC打造的通用GUI
AWUI-js为用户供给别离界面规划和逻辑的结构,AWStudio供给嵌入式组态软件和云组态开发环境。美工能够直接在AWStudio组态软件中进行精巧的界面规划,让研制工程师专心于操控逻辑的使用程序。

AWTK的首要特点:
1.具有Qt的跨渠道
支撑AWorks嵌入式低端、中端和高端各个渠道开发;
支撑Linux桌面软件开发;
支撑MacOS桌面软件开发;
支撑Windows桌面软件开发
支撑Web App开发;
2.具有emWin的细巧高效
AWTK的小并非真的小,而是它能够很小。这首要得益于:
灵敏的架构
一般鱼和熊掌不兼得,功用强大和代码体积彼此对立,AWTK要在嵌入式的低端,中端和高端渠道上运转,要在Android/iOS上运转,要在PC乃至Web上运转,光靠小是不可的,灵敏的架构才干
让它可小可大。
高效的数据格局
AWTK的主题数据和界面描绘数据,在开
发时运用XML格局,运转时则编译成二进制的常量,故无需解析和内存分配。图片和字体也能够预先解码并编译成常量,运转时直接从FLASH读取,无需解码和内存分配。所以
AWTK在内存很小的渠道依然能够正常运转。
保存的规划。
由俭到奢易,由奢到俭难。在规划控件时尽量保存,下降对底层硬件的要求。AWTK能够在低端嵌入式渠道上运转。 这些渠道典型的装备是32K RAM,512K
Flash和低于100M主频。
3.快
AWTK的快首要得益于:
硬件加快
AWTK笼统了硬件加快接口,现在支撑 STM32的G2D、NXP的PXP和GPU(OpenGL/OpenGLES),充沛发掘硬件的功用。
缓存制作
播窗口动画前,预先制作窗口到缓存,播映动画(平移/弹出动画)时仅仅朴实内存复制,运转功率抵达极致。
高效的数据格局
主题数据和UI数据以高效的二进制格局存储,运用时无需解析和内存分配,创立窗口可在瞬间完结。
脏矩形算法
启用脏矩形算法,每次只制作改动的部分,进步运转功率并下降功耗。
在IM287A的Linux体系上,Qt翻开一个窗口需求3秒以上,AWTK则瞬间以超越40FPS的动画翻开窗口(假如运用3FB,能够轻松到达60FPS)。
4.具有TouchGfx/Embedded Wizard的酷炫
支撑现代GUI常见特性:
窗口动画
支撑平移、弹出、缩放和淡入淡出等动画。
控件动画
支撑移动、缩放、翻转、值改动和淡入淡出等动画。
动画支撑缓动作作用
支撑加快、减速和弹跳等数十种作用,亦能够自定义想要的作用。
支撑滑动
ListView/SlideView/Selector/Switch等控件支撑滑动作用。
支撑游戏引擎常见功用
帧动画、骨骼动画(TODO)和粒子作用(TODO)。
主题支撑大局和窗口两种方法
轻松定制控件的外观作用,而无需求改动体系的主题。
别离界面描绘文件
开发时选用XML格局描绘,运转时编译成二进制格局。别离界面方便了开 发,而又无运转时的开支。
5.安稳
经过杰出的架构规划和编程风格、单元测试、动态(valgrind)查看和Code Review保证其运转的安稳性。
6.彻底开源,商用免费
敞开悉数源码;
商业使用免费;
没有诡计,放心运用,不要想多了。但咱们会为ZLG集团的客户供给更好的服务和支撑。
开源项目网址:https://github.com/zlgopen/awtk
作用视频链接:https://v.qq.com/txp/iframe/player.html?vid=n07811pocfx
AWTK,使UI像iPhone相同!

M1052跨界中心板板载Cortex-M7的RT1050处理器,既具有MPU的微弱处理功用,又统筹MCU微操控器的简略易用与实时性优势!
最高支撑1366*768分辨率LCD,集成电容接触驱动,并预装AWorks 实时操作体系,让触控更安稳顺利。
