新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 如何使UI像iPhone一樣流暢炫酷?

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

        作者:ZLG致遠電子 時間:2018-12-21 來源:電子產品世界 收藏

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

        本文引用地址:http://www.104case.com/article/201812/395910.htm

          一、什么是嵌入式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像一樣

          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像一樣!

          


          M1052跨界核心板板載Cortex-M7的RT1050處理器,既具備MPU的強勁處理性能,又兼顧MCU微控制器的簡單易用與實時性優勢!

          最高支持1366*768分辨率LCD,集成電容觸摸驅動,并預裝AWorks 實時操作系統,讓觸控更穩定順暢。

          



        關鍵詞: iPhone GUI

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 长春市| 甘德县| 阜阳市| 沙湾县| 普洱| 拉孜县| 麻阳| 桑植县| 岳普湖县| 五峰| 鄂尔多斯市| 鄢陵县| 长兴县| 石渠县| 开阳县| 和硕县| 黑龙江省| 蒙自县| 安顺市| 嵩明县| 潼南县| 荔浦县| 寿光市| 广饶县| 正镶白旗| 南京市| 瑞安市| 黑山县| 南华县| 塔河县| 泸州市| 丰县| 江达县| 翁牛特旗| 陵水| 锡林郭勒盟| 盐亭县| 紫阳县| 澜沧| 秀山| 定襄县|