0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何使UI像iPhone一樣流暢炫酷

電子工程師 ? 來源:工程師李察 ? 2019-01-01 14:32 ? 次閱讀

隨著手機(jī)智能手表等便攜式設(shè)備的普及,用戶對(duì)GUI的要求越來越高,嵌入式系統(tǒng)對(duì)GUI的需求也越來越迫切,本文將為大家介紹一個(gè)輕型、占用資源少、高性能、高可靠、便于移植、可配置及美觀的GUI編程框架。

一、什么是嵌入式GUI?

圖形用戶界面(Graphical User Interface,簡稱 GUI,又稱圖形用戶接口)是指采用圖形方式顯示的計(jì)算機(jī)操作用戶界面。嵌入式GUI即在嵌入式設(shè)備上使用顯示屏去顯示操作界面,主要用來與用戶互動(dòng)。

二、市面上常見的GUI

當(dāng)前市面上主流的嵌入式 GUI 主要有:emWin(uCGUI),TouchGFX,Embedded Wizard GUI,以及QT。

TouchGFX 是這兩年才發(fā)布的嵌入式 GUI,以界面華麗,流暢以及強(qiáng)勁的 TouchGFX Designer著稱。美中不足的是 TouchGFX 是要收費(fèi)的。

Embeded Wizard GUI 也是這兩年才發(fā)布的嵌入式 GUI,同樣以華麗,流暢的界面和強(qiáng)勁的GUIBuilder 著稱。獨(dú)創(chuàng) Chora 界面編程語言,讓大家的界面編程極其簡單,GUIBuilder 上面含有非常多的控件,皮膚和主題供用戶選擇,且支持調(diào)試。美中不足的是 Embeded Wizard GUI 也是要收費(fèi)的。

emWin 屬于老牌的嵌入式 GUI 了,有著十幾年的歷史,軟件架構(gòu)和功能比較成熟了。但是做出來比較炫的效果非常麻煩,且不支持較為復(fù)雜的控件。

QT是是一個(gè)1991年由Qt Company開發(fā)的跨平臺(tái)C++圖形用戶界面應(yīng)用程序開發(fā)框架。目前使用Linux操作系統(tǒng)的GUI設(shè)計(jì)大多數(shù)是基于QT開發(fā)的。

以下是各種GUI對(duì)比表:

如何使UI像iPhone一樣流暢炫酷



三、AWTK使UI像iPhone一樣

AWTK是ZLG集團(tuán)旗下致遠(yuǎn)電子開源的GUI引擎,其寓意有兩方面:

AWorks Toolkit:AWorks平臺(tái)內(nèi)置GUI

Toolkit AnyWhere:為嵌入式、手機(jī)和PC打造的通用GUI

AWUI-js為用戶提供分離界面設(shè)計(jì)和邏輯的框架,AWStudio提供嵌入式組態(tài)軟件和云組態(tài)開發(fā)環(huán)境。美工可以直接在AWStudio組態(tài)軟件中進(jìn)行精美的界面設(shè)計(jì),讓研發(fā)工程師專注于控制邏輯的應(yīng)用程序。

如何使UI像iPhone一樣流暢炫酷

AWTK的主要特點(diǎn):

具有Qt的跨平臺(tái)

支持AWorks嵌入式低端、中端和高端各個(gè)平臺(tái)開發(fā);

支持Linux桌面軟件開發(fā);

支持MacOS桌面軟件開發(fā);

支持Windows桌面軟件開發(fā)

支持Web App開發(fā);

具有emWin的小巧高效

AWTK的小并非真的小,而是它可以很小。這主要得益于:

靈活的架構(gòu)

通常魚和熊掌不兼得,功能強(qiáng)大和代碼體積相互矛盾,AWTK要在嵌入式的低端,中端和高端平臺(tái)上運(yùn)行,要在Android/iOS上運(yùn)行,要在PC甚至Web上運(yùn)行,光靠小是不行的,靈活的架構(gòu)才能 讓它可小可大。

高效的數(shù)據(jù)格式

AWTK的主題數(shù)據(jù)和界面描述數(shù)據(jù),在開 發(fā)時(shí)使用XML格式,運(yùn)行時(shí)則編譯成二進(jìn)制的常量,故無需解析和內(nèi)存分配。圖片和字體也可以預(yù)先解碼并編譯成常量,運(yùn)行時(shí)直接從FLASH讀取,無需解碼和內(nèi)存分配。所以 AWTK在內(nèi)存很小的平臺(tái)仍然可以正常運(yùn)行。

保守的設(shè)計(jì)。

由儉到奢易,由奢到儉難。在設(shè)計(jì)控件時(shí)盡量保守,降低對(duì)底層硬件的要求。AWTK可以在低端嵌入式平臺(tái)上運(yùn)行。 這些平臺(tái)典型的配置是32K RAM,512K Flash和低于100M主頻。



AWTK的快主要得益于:

硬件加速

AWTK抽象了硬件加速接口,目前支持 STM32的G2D、NXP的PXP和GPU(OpenGL/OpenGLES),充分挖掘硬件的性能。

緩存繪制

播窗口動(dòng)畫前,預(yù)先繪制窗口到緩存,播放動(dòng)畫(平移/彈出動(dòng)畫)時(shí)只是純粹內(nèi)存拷貝,運(yùn)行效率到達(dá)極致。

高效的數(shù)據(jù)格式

主題數(shù)據(jù)和UI數(shù)據(jù)以高效的二進(jìn)制格式存儲(chǔ),使用時(shí)無需解析和內(nèi)存分配,創(chuàng)建窗口可在瞬間完成。

臟矩形算法

啟用臟矩形算法,每次只繪制變化的部分,提高運(yùn)行效率并降低功耗。

在IM287A的Linux系統(tǒng)上,Qt打開一個(gè)窗口需要3秒以上,AWTK則瞬間以超過40FPS的動(dòng)畫打開窗口(如果使用3FB,可以輕松達(dá)到60FPS)。

具有TouchGfx/Embedded Wizard的酷炫

支持現(xiàn)代GUI常見特性:

窗口動(dòng)畫

支持平移、彈出、縮放和淡入淡出等動(dòng)畫。

控件動(dòng)畫

支持移動(dòng)、縮放、翻轉(zhuǎn)、值變化和淡入淡出等動(dòng)畫。

動(dòng)畫支持緩動(dòng)作效果

支持加速、減速和彈跳等數(shù)十種效果,亦可以自定義想要的效果。

支持滑動(dòng)

ListView/SlideView/Selector/Switch等控件支持滑動(dòng)效果。

支持游戲引擎常見功能

幀動(dòng)畫、骨骼動(dòng)畫(TODO)和粒子效果(TODO)。

主題支持全局和窗口兩種方式

輕松定制控件的外觀效果,而無需要改變系統(tǒng)的主題。

分離界面描述文件

開發(fā)時(shí)采用XML格式描述,運(yùn)行時(shí)編譯成二進(jìn)制格式。分離界面方便了開 發(fā),而又無運(yùn)行時(shí)的開銷。

穩(wěn)定

通過良好的架構(gòu)設(shè)計(jì)和編程風(fēng)格、單元測試、動(dòng)態(tài)(valgrind)檢查和Code Review保證其運(yùn)行的穩(wěn)定性。

完全開源,商用免費(fèi)

開放全部源碼;

商業(yè)應(yīng)用免費(fèi);

沒有陰謀,放心使用,不要想多了。但我們會(huì)為ZLG集團(tuán)的客戶提供更好的服務(wù)和支持。

開源項(xiàng)目網(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的強(qiáng)勁處理性能,又兼顧MCU微控制器的簡單易用與實(shí)時(shí)性優(yōu)勢(shì)!

最高支持1366*768分辨率LCD,集成電容觸摸驅(qū)動(dòng),并預(yù)裝AWorks 實(shí)時(shí)操作系統(tǒng),讓觸控更穩(wěn)定順暢。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 微控制器
    +關(guān)注

    關(guān)注

    48

    文章

    7336

    瀏覽量

    150105
  • iPhone
    +關(guān)注

    關(guān)注

    28

    文章

    13386

    瀏覽量

    200869
  • ui
    ui
    +關(guān)注

    關(guān)注

    0

    文章

    202

    瀏覽量

    21290
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    請(qǐng)問28335 APWM能否EPWM一樣可以有寄存器去控制使能?

    請(qǐng)我CAP口的 APWM功能,能否 EPWM一樣可以有寄存器去控制使能,并且在APWM關(guān)斷的時(shí)候,能否有EPWM一樣的TZ寄存器去封鎖A
    發(fā)表于 10-12 14:40

    怎么讓UIiPhone一樣?

    隨著手機(jī)、智能手表等便攜式設(shè)備的普及,用戶對(duì)GUI的要求越來越高,嵌入式系統(tǒng)對(duì)GUI的需求也越來越迫切,本文將為大家介紹個(gè)輕型、占用資源少、高性能、高可靠、便于移植、可配置及美觀的GUI編程框架。
    發(fā)表于 10-18 06:55

    想問下大神們,這樣個(gè)網(wǎng)絡(luò)所有過孔都亮起來星星一樣怎么弄的,太了,想學(xué)習(xí)學(xué)習(xí)!

    想問下大神們,這樣個(gè)網(wǎng)絡(luò)所有過孔都亮起來星星一樣怎么弄的,太了,想學(xué)習(xí)學(xué)習(xí)!
    發(fā)表于 02-09 16:52

    是否可以TouchGFX Designer的示例一樣創(chuàng)建個(gè)UI模板?

    是否可以 TouchGFX Designer 的示例一樣創(chuàng)建個(gè) UI 模板?
    發(fā)表于 01-05 07:44

    請(qǐng)問如何讓rk3588 android平板一樣整個(gè)Ui重力感應(yīng)旋轉(zhuǎn)屏幕呢?

    請(qǐng)問如何讓rk3588 android平板一樣整個(gè)Ui重力感應(yīng)旋轉(zhuǎn)屏幕?自己做的底板上已添加了sensor(icm2060x_acc),rk3588上的app可以自由隨sensor旋轉(zhuǎn),但是android主界面(
    發(fā)表于 03-29 14:10

    LabVIEW是否能C語言一樣

    LabVIEW是否能C語言一樣?
    發(fā)表于 09-11 18:41 ?38次下載

    如何使機(jī)器一樣對(duì)物理世界直觀理解?

    人工智能追求的長期目標(biāo)是使機(jī)器能人類一樣感知世界和解決問題。對(duì)當(dāng)前人工智能而言,解決某些對(duì)人類來說屬于智力挑戰(zhàn)的問題可能是相對(duì)簡單的,但對(duì)看似簡單的與真實(shí)物理世界交互的能力依然非常差。
    的頭像 發(fā)表于 08-28 09:11 ?3776次閱讀

    如何設(shè)計(jì)線性穩(wěn)壓器一樣簡單的復(fù)雜開關(guān)穩(wěn)壓器

    如何設(shè)計(jì)線性穩(wěn)壓器一樣簡單的復(fù)雜開關(guān)穩(wěn)壓器 - MicroModules_zh
    的頭像 發(fā)表于 08-15 06:02 ?2938次閱讀

    網(wǎng)頁UI設(shè)計(jì)與軟件UI設(shè)計(jì)是一樣的嗎

    隨著科技水平不斷的發(fā)展,網(wǎng)站UI設(shè)計(jì)也越來越多地體現(xiàn)出“用”的功能,使得網(wǎng)站UI設(shè)計(jì)與軟件UI設(shè)計(jì)在這方面的界限越來越不明顯了。
    發(fā)表于 03-18 11:32 ?1863次閱讀

    如何使工業(yè)用以太網(wǎng)標(biāo)準(zhǔn)以太網(wǎng)一樣簡單

    如何使工業(yè)用以太網(wǎng)標(biāo)準(zhǔn)以太網(wǎng)一樣簡單
    發(fā)表于 11-04 09:51 ?0次下載
    如何<b class='flag-5'>使</b>工業(yè)用以太網(wǎng)<b class='flag-5'>像</b>標(biāo)準(zhǔn)以太網(wǎng)<b class='flag-5'>一樣</b>簡單

    讓洗衣機(jī)蝙蝠一樣會(huì)怎么?用聲音來提供我們的生活品質(zhì).

    讓洗衣機(jī)蝙蝠一樣會(huì)怎么?用聲音來提供我們的生活品質(zhì).
    發(fā)表于 11-04 09:51 ?0次下載
    讓洗衣機(jī)<b class='flag-5'>像</b>蝙蝠<b class='flag-5'>一樣</b>會(huì)怎么<b class='flag-5'>樣</b>?用聲音來提供我們的生活品質(zhì).

    DJ一樣控制 NeoPixels

    電子發(fā)燒友網(wǎng)站提供《DJ一樣控制 NeoPixels.zip》資料免費(fèi)下載
    發(fā)表于 12-28 09:28 ?0次下載
    <b class='flag-5'>像</b>DJ<b class='flag-5'>一樣</b>控制 NeoPixels

    交通燈系統(tǒng)一樣監(jiān)控您的機(jī)器

    交通燈系統(tǒng)一樣監(jiān)控您的機(jī)器
    的頭像 發(fā)表于 03-09 15:16 ?516次閱讀
    <b class='flag-5'>像</b>交通燈系統(tǒng)<b class='flag-5'>一樣</b>監(jiān)控您的機(jī)器

    讓超聲波儀聽診器一樣便攜

    讓超聲波儀聽診器一樣便攜
    的頭像 發(fā)表于 11-24 16:20 ?615次閱讀
    讓超聲波儀<b class='flag-5'>像</b>聽診器<b class='flag-5'>一樣</b>便攜

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

    VA段碼COG液晶屏可個(gè)性化靈活設(shè)計(jì)UI,實(shí)現(xiàn)創(chuàng)意UI的高對(duì)比高亮多色彩顯示。
    的頭像 發(fā)表于 07-11 10:50 ?316次閱讀
    VA段碼COG液晶屏可個(gè)性化靈活設(shè)計(jì)<b class='flag-5'>UI</b>,實(shí)現(xiàn)創(chuàng)意<b class='flag-5'>UI</b>的高對(duì)比高亮多色彩<b class='flag-5'>炫</b><b class='flag-5'>酷</b>顯示。