0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何使UI像iPhone一样流畅炫酷

电子工程师 来源:工程师李察 2019-01-01 14:32 次阅读

随着手机智能手表等便携式设备的普及,用户对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对比表:

如何使UI像iPhone一样流畅炫酷



三、AWTK使UI像iPhone一样

AWTK是ZLG集团旗下致远电子开源的GUI引擎,其寓意有两方面:

AWorks Toolkit:AWorks平台内置GUI

Toolkit AnyWhere:为嵌入式、手机和PC打造的通用GUI

AWUI-js为用户提供分离界面设计和逻辑的框架,AWStudio提供嵌入式组态软件和云组态开发环境。美工可以直接在AWStudio组态软件中进行精美的界面设计,让研发工程师专注于控制逻辑的应用程序。

如何使UI像iPhone一样流畅炫酷

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 实时操作系统,让触控更稳定顺畅。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 微控制器
    +关注

    关注

    48

    文章

    7542

    浏览量

    151316
  • iPhone
    +关注

    关注

    28

    文章

    13460

    浏览量

    201651
  • ui
    ui
    +关注

    关注

    0

    文章

    204

    浏览量

    21368
收藏 人收藏

    评论

    相关推荐

    请问28335 APWM能否EPWM一样可以有寄存器去控制使能?

    请我CAP口的 APWM功能,能否 EPWM一样可以有寄存器去控制使能,并且在APWM关断的时候,能否有EPWM一样的TZ寄存器去封锁A
    发表于 10-12 14:40

    怎么让UIiPhone一样

    随着手机、智能手表等便携式设备的普及,用户对GUI的要求越来越高,嵌入式系统对GUI的需求也越来越迫切,本文将为大家介绍个轻型、占用资源少、高性能、高可靠、便于移植、可配置及美观的GUI编程框架。
    发表于 10-18 06:55

    想问下大神们,这样个网络所有过孔都亮起来星星一样怎么弄的,太了,想学习学习!

    想问下大神们,这样个网络所有过孔都亮起来星星一样怎么弄的,太了,想学习学习!
    发表于 02-09 16:52

    是否可以TouchGFX Designer的示例一样创建UI模板?

    是否可以 TouchGFX Designer 的示例一样创建UI 模板?
    发表于 01-05 07:44

    请问如何让rk3588 android平板一样整个Ui重力感应旋转屏幕呢?

    请问如何让rk3588 android平板一样整个Ui重力感应旋转屏幕?自己做的底板上已添加了sensor(icm2060x_acc),rk3588上的app可以自由随sensor旋转,但是android主界面(
    发表于 03-29 14:10

    LabVIEW是否能C语言一样

    LabVIEW是否能C语言一样
    发表于 09-11 18:41 38次下载

    如何使机器一样对物理世界直观理解?

    人工智能追求的长期目标是使机器能人类一样感知世界和解决问题。对当前人工智能而言,解决某些对人类来说属于智力挑战的问题可能是相对简单的,但对看似简单的与真实物理世界交互的能力依然非常差。
    的头像 发表于 08-28 09:11 3877次阅读

    如何设计线性稳压器一样简单的复杂开关稳压器

    如何设计线性稳压器一样简单的复杂开关稳压器 - MicroModules_zh
    的头像 发表于 08-15 06:02 3020次阅读

    网页UI设计与软件UI设计是一样的吗

    随着科技水平不断的发展,网站UI设计也越来越多地体现出“用”的功能,使得网站UI设计与软件UI设计在这方面的界限越来越不明显了。
    发表于 03-18 11:32 1932次阅读

    如何使工业用以太网标准以太网一样简单

    如何使工业用以太网标准以太网一样简单
    发表于 11-04 09:51 0次下载
    如何<b class='flag-5'>使</b>工业用以太网<b class='flag-5'>像</b>标准以太网<b class='flag-5'>一样</b>简单

    让洗衣机蝙蝠一样会怎么?用声音来提供我们的生活品质.

    让洗衣机蝙蝠一样会怎么?用声音来提供我们的生活品质.
    发表于 11-04 09:51 0次下载
    让洗衣机<b class='flag-5'>像</b>蝙蝠<b class='flag-5'>一样</b>会怎么<b class='flag-5'>样</b>?用声音来提供我们的生活品质.

    DJ一样控制 NeoPixels

    电子发烧友网站提供《DJ一样控制 NeoPixels.zip》资料免费下载
    发表于 12-28 09:28 0次下载
    <b class='flag-5'>像</b>DJ<b class='flag-5'>一样</b>控制 NeoPixels

    交通灯系统一样监控您的机器

    交通灯系统一样监控您的机器
    的头像 发表于 03-09 15:16 602次阅读
    <b class='flag-5'>像</b>交通灯系统<b class='flag-5'>一样</b>监控您的机器

    让超声波仪听诊器一样便携

    让超声波仪听诊器一样便携
    的头像 发表于 11-24 16:20 816次阅读
    让超声波仪<b class='flag-5'>像</b>听诊器<b class='flag-5'>一样</b>便携

    VA段码COG液晶屏可个性化灵活设计UI,实现创意UI的高对比高亮多色彩显示。

    VA段码COG液晶屏可个性化灵活设计UI,实现创意UI的高对比高亮多色彩显示。
    的头像 发表于 07-11 10:50 535次阅读
    VA段码COG液晶屏可个性化灵活设计<b class='flag-5'>UI</b>,实现创意<b class='flag-5'>UI</b>的高对比高亮多色彩<b class='flag-5'>炫</b><b class='flag-5'>酷</b>显示。