隨著手機、智能手表等便攜式設(shè)備的普及,用戶對GUI的要求越來越高,嵌入式系統(tǒng)對GUI的需求也越來越迫切,本文將為大家介紹一個輕型、占用資源少、高性能、高可靠、便于移植、可配置及美觀的GUI編程框架。
一、什么是嵌入式GUI?
圖形用戶界面(Graphical User Interface,簡稱 GUI,又稱圖形用戶接口)是指采用圖形方式顯示的計算機操作用戶界面。嵌入式GUI即在嵌入式設(shè)備上使用顯示屏去顯示操作界面,主要用來與用戶互動。
二、市面上常見的GUI
當(dāng)前市面上主流的嵌入式 GUI 主要有:emWin(uCGUI),TouchGFX,Embedded Wizard GUI,以及QT。
TouchGFX 是這兩年才發(fā)布的嵌入式 GUI,以界面華麗,流暢以及強勁的 TouchGFX Designer著稱。美中不足的是 TouchGFX 是要收費的。
Embeded Wizard GUI 也是這兩年才發(fā)布的嵌入式 GUI,同樣以華麗,流暢的界面和強勁的GUIBuilder 著稱。獨創(chuàng) Chora 界面編程語言,讓大家的界面編程極其簡單,GUIBuilder 上面含有非常多的控件,皮膚和主題供用戶選擇,且支持調(diào)試。美中不足的是 Embeded Wizard GUI 也是要收費的。
emWin 屬于老牌的嵌入式 GUI 了,有著十幾年的歷史,軟件架構(gòu)和功能比較成熟了。但是做出來比較炫的效果非常麻煩,且不支持較為復(fù)雜的控件。
QT是是一個1991年由Qt Company開發(fā)的跨平臺C++圖形用戶界面應(yīng)用程序開發(fā)框架。目前使用Linux操作系統(tǒng)的GUI設(shè)計大多數(shù)是基于QT開發(fā)的。
以下是各種GUI對比表:
三、AWTK使UI像iPhone一樣
AWTK是ZLG集團旗下致遠(yuǎn)電子開源的GUI引擎,其寓意有兩方面:
AWorks Toolkit:AWorks平臺內(nèi)置GUI
Toolkit AnyWhere:為嵌入式、手機和PC打造的通用GUI
AWUI-js為用戶提供分離界面設(shè)計和邏輯的框架,AWStudio提供嵌入式組態(tài)軟件和云組態(tài)開發(fā)環(huán)境。美工可以直接在AWStudio組態(tài)軟件中進行精美的界面設(shè)計,讓研發(fā)工程師專注于控制邏輯的應(yīng)用程序。
AWTK的主要特點:
具有Qt的跨平臺
支持AWorks嵌入式低端、中端和高端各個平臺開發(fā);
支持Linux桌面軟件開發(fā);
支持MacOS桌面軟件開發(fā);
支持Windows桌面軟件開發(fā)
支持Web App開發(fā);
具有emWin的小巧高效
AWTK的小并非真的小,而是它可以很小。這主要得益于:
靈活的架構(gòu)
通常魚和熊掌不兼得,功能強大和代碼體積相互矛盾,AWTK要在嵌入式的低端,中端和高端平臺上運行,要在Android/iOS上運行,要在PC甚至Web上運行,光靠小是不行的,靈活的架構(gòu)才能 讓它可小可大。
高效的數(shù)據(jù)格式
AWTK的主題數(shù)據(jù)和界面描述數(shù)據(jù),在開 發(fā)時使用XML格式,運行時則編譯成二進制的常量,故無需解析和內(nèi)存分配。圖片和字體也可以預(yù)先解碼并編譯成常量,運行時直接從FLASH讀取,無需解碼和內(nèi)存分配。所以 AWTK在內(nèi)存很小的平臺仍然可以正常運行。
保守的設(shè)計。
由儉到奢易,由奢到儉難。在設(shè)計控件時盡量保守,降低對底層硬件的要求。AWTK可以在低端嵌入式平臺上運行。 這些平臺典型的配置是32K RAM,512K Flash和低于100M主頻。
快
AWTK的快主要得益于:
硬件加速
AWTK抽象了硬件加速接口,目前支持 STM32的G2D、NXP的PXP和GPU(OpenGL/OpenGLES),充分挖掘硬件的性能。
緩存繪制
播窗口動畫前,預(yù)先繪制窗口到緩存,播放動畫(平移/彈出動畫)時只是純粹內(nèi)存拷貝,運行效率到達極致。
高效的數(shù)據(jù)格式
主題數(shù)據(jù)和UI數(shù)據(jù)以高效的二進制格式存儲,使用時無需解析和內(nèi)存分配,創(chuàng)建窗口可在瞬間完成。
臟矩形算法
啟用臟矩形算法,每次只繪制變化的部分,提高運行效率并降低功耗。
在IM287A的Linux系統(tǒng)上,Qt打開一個窗口需要3秒以上,AWTK則瞬間以超過40FPS的動畫打開窗口(如果使用3FB,可以輕松達到60FPS)。
具有TouchGfx/Embedded Wizard的酷炫
支持現(xiàn)代GUI常見特性:
窗口動畫
支持平移、彈出、縮放和淡入淡出等動畫。
控件動畫
支持移動、縮放、翻轉(zhuǎn)、值變化和淡入淡出等動畫。
動畫支持緩動作效果
支持加速、減速和彈跳等數(shù)十種效果,亦可以自定義想要的效果。
支持滑動
ListView/SlideView/Selector/Switch等控件支持滑動效果。
支持游戲引擎常見功能
幀動畫、骨骼動畫(TODO)和粒子效果(TODO)。
主題支持全局和窗口兩種方式
輕松定制控件的外觀效果,而無需要改變系統(tǒng)的主題。
分離界面描述文件
開發(fā)時采用XML格式描述,運行時編譯成二進制格式。分離界面方便了開 發(fā),而又無運行時的開銷。
穩(wěn)定
通過良好的架構(gòu)設(shè)計和編程風(fēng)格、單元測試、動態(tài)(valgrind)檢查和Code Review保證其運行的穩(wěn)定性。
完全開源,商用免費
開放全部源碼;
商業(yè)應(yīng)用免費;
沒有陰謀,放心使用,不要想多了。但我們會為ZLG集團的客戶提供更好的服務(wù)和支持。
開源項目網(wǎng)址:https://github.com/zlgopen/awtk
效果視頻鏈接:https://v.qq.com/txp/iframe/player.html?vid=n07811pocfx
AWTK,使UI像iPhone一樣!
M1052跨界核心板板載Cortex-M7的RT1050處理器,既具備MPU的強勁處理性能,又兼顧MCU微控制器的簡單易用與實時性優(yōu)勢!
最高支持1366*768分辨率LCD,集成電容觸摸驅(qū)動,并預(yù)裝AWorks 實時操作系統(tǒng),讓觸控更穩(wěn)定順暢。
-
微控制器
+關(guān)注
關(guān)注
48文章
7900瀏覽量
153645 -
iPhone
+關(guān)注
關(guān)注
28文章
13498瀏覽量
204778 -
ui
+關(guān)注
關(guān)注
0文章
206瀏覽量
21672
發(fā)布評論請先 登錄
請問28335 APWM能否像EPWM一樣可以有寄存器去控制使能?
怎么讓UI像iPhone一樣?
想問一下大神們,像這樣一個網(wǎng)絡(luò)所有過孔都亮起來像星星一樣怎么弄的,太炫了,想學(xué)習(xí)學(xué)習(xí)!
是否可以像TouchGFX Designer的示例一樣創(chuàng)建一個UI模板?
請問如何讓rk3588 android像平板一樣整個Ui重力感應(yīng)旋轉(zhuǎn)屏幕呢?
如何使機器像人一樣對物理世界直觀理解?
如何設(shè)計像線性穩(wěn)壓器一樣簡單的復(fù)雜開關(guān)穩(wěn)壓器
網(wǎng)頁UI設(shè)計與軟件UI設(shè)計是一樣的嗎
如何使工業(yè)用以太網(wǎng)像標(biāo)準(zhǔn)以太網(wǎng)一樣簡單

VA段碼COG液晶屏可個性化靈活設(shè)計UI,實現(xiàn)創(chuàng)意UI的高對比高亮多色彩炫酷顯示。

評論