完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
一、什么是嵌入式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的主要特点: 具有Qt的跨平台 支持AWorks嵌入式低端、中端和高端各个平台开发; 支持Linux桌面软件开发; 支持MacOS桌面软件开发; 支持Windows桌面软件开发 支持Web App开发; 具有emWin的小巧高效 AWTK的小并非真的小,而是它可以很小。这主要得益于: 灵活的架构 通常鱼和熊掌不兼得,功能强大和代码体积相互矛盾,AWTK要在嵌入式的低端,中端和高端平台上运行,要在Android/iOS上运行,要在PC甚至Web上运行,光靠小是不行的,灵活的架构才能 让它可小可大。 高效的数据格式 AWTK的主题数据和界面描述数据,在开 发时使用XML格式,运行时则编译成二进制的常量,故无需解析和内存分配。图片和字体也可以预先解码并编译成常量,运行时直接从FLASH读取,无需解码和内存分配。所以 AWTK在内存很小的平台仍然可以正常运行。 保守的设计。 由俭到奢易,由奢到俭难。在设计控件时尽量保守,降低对底层硬件的要求。AWTK可以在低端嵌入式平台上运行。 这些平台典型的配置是32K RAM,512K Flash和低于100M主频。 快 AWTK的快主要得益于: 硬件加速 AWTK抽象了硬件加速接口,目前支持 STM32的G2D、NXP的PXP和GPU(OpenGL/OpenGLES),充分挖掘硬件的性能。 缓存绘制 播窗口动画前,预先绘制窗口到缓存,播放动画(平移/弹出动画)时只是纯粹内存拷贝,运行效率到达极致。 高效的数据格式 主题数据和UI数据以高效的二进制格式存储,使用时无需解析和内存分配,创建窗口可在瞬间完成。 脏矩形算法 启用脏矩形算法,每次只绘制变化的部分,提高运行效率并降低功耗。 在IM287A的Linux系统上,Qt打开一个窗口需要3秒以上,AWTK则瞬间以超过40FPS的动画打开窗口(如果使用3FB,可以轻松达到60FPS)。 具有TouchGfx/Embedded Wizard的酷炫 支持现代GUI常见特性: 窗口动画 支持平移、弹出、缩放和淡入淡出等动画。 控件动画 支持移动、缩放、翻转、值变化和淡入淡出等动画。 动画支持缓动作效果 支持加速、减速和弹跳等数十种效果,亦可以自定义想要的效果。 支持滑动 ListView/SlideView/Selector/Switch等控件支持滑动效果。 支持游戏引擎常见功能 帧动画、骨骼动画(TODO)和粒子效果(TODO)。 主题支持全局和窗口两种方式 轻松定制控件的外观效果,而无需要改变系统的主题。 分离界面描述文件 开发时采用XML格式描述,运行时编译成二进制格式。分离界面方便了开 发,而又无运行时的开销。 稳定 通过良好的架构设计和编程风格、单元测试、动态(valgrind)检查和Code Review保证其运行的稳定性。 完全开源,商用免费 开放全部源码; 商业应用免费; 没有阴谋,放心使用,不要想多了。但我们会为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 实时操作系统,让触控更稳定顺畅。 |
|
|
|
只有小组成员才能发言,加入小组>>
771 浏览 0 评论
1146 浏览 1 评论
2527 浏览 5 评论
2858 浏览 9 评论
移植了freeRTOS到STMf103之后显示没有定义的原因?
2709 浏览 6 评论
keil5中manage run-time environment怎么是灰色,不可以操作吗?
1053浏览 3评论
188浏览 2评论
453浏览 2评论
364浏览 2评论
M0518 PWM的电压输出只有2V左右,没有3.3V是怎么回事?
449浏览 1评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-18 10:17 , Processed in 1.144196 second(s), Total 84, Slave 63 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号