技術(shù)文章

Technical articles

當(dāng)前位置:首頁(yè)技術(shù)文章AWTK能為現(xiàn)代GUI編程帶來(lái)何種改變?

AWTK能為現(xiàn)代GUI編程帶來(lái)何種改變?

更新時(shí)間:2019-09-21點(diǎn)擊次數(shù):1435

AWTK是一個(gè)伸縮性*的嵌入式圖形框架,可在Cortex-M3這樣低端的單片機(jī)上運(yùn)行,也可以在Cortex-A7/A8/A9等處理器,甚至DSP以及X86處理器上運(yùn)行,既可支持小型RTOS系統(tǒng),也能支持Linux、MacOS、iOS、Android操作系統(tǒng),還能支持Windows操作系統(tǒng)、WEB以及各種小程序,可以說(shuō)是一個(gè)的嵌入式GUI引擎。

 

AWTK的跨平臺(tái)特性,使得應(yīng)用程序開(kāi)發(fā)也極為便利,在Windows上開(kāi)發(fā)完成的程序,只需經(jīng)過(guò)簡(jiǎn)單交叉編譯即可下載至嵌入式目標(biāo)板運(yùn)行,且得到的效果是*一樣的,無(wú)需再進(jìn)行任何修改。

 

  AWTK的特點(diǎn)

AWTK旨在為用戶提供一個(gè)功能強(qiáng)大、簡(jiǎn)單易用,能輕松做出炫酷效果的GUI引擎,具有如下特點(diǎn):

1、開(kāi)源、免費(fèi),用于商業(yè)無(wú)需付費(fèi);

2、:小巧,可運(yùn)行在Cortex-M3等小資源平臺(tái)(參考圖1;

3、跨平臺(tái):支持跨多種操作系統(tǒng),跨多種硬件平臺(tái)(參考圖2);

4、穩(wěn)定:架構(gòu),檢查測(cè)試,多平臺(tái)驗(yàn)證以及強(qiáng)大后備技術(shù)支援;

5、功能強(qiáng)大:

  • 支持硬件加速,支持視網(wǎng)膜高清分辨率技術(shù);

  • 擁有完善的動(dòng)畫(huà)系統(tǒng),豐富的GUI控件;

  • 支持位圖字體和矢量字體;

  • 內(nèi)置中英文輸入法,并支持智能詞組輸入;

  • 支持多語(yǔ)言開(kāi)發(fā),支持化;

6、易用;

7、支持純C語(yǔ)言編程;

8、支持組態(tài)方式開(kāi)發(fā)界面,所見(jiàn)即所得;

9、提供完善的API手冊(cè)、使用文檔和大量示例代碼:

  • 支持純C語(yǔ)言編程;

  • 支持組態(tài)方式開(kāi)發(fā)界面,所見(jiàn)即所得;

  • 提供完善的API手冊(cè)、使用文檔和大量示例代碼;

10、擴(kuò)展性好:可擴(kuò)展控件、動(dòng)畫(huà)、引擎等。

 

圖1 廣泛處理器支持

 

圖2 多軟件平臺(tái)支持

 

  AWTK開(kāi)發(fā)環(huán)境

ZLG致遠(yuǎn)電子即將推出AWTK集成開(kāi)發(fā)環(huán)境AWTK Designer,簡(jiǎn)化AWTK界面設(shè)計(jì),無(wú)需手寫(xiě)XML,采用拖拽方式即可完成界面設(shè)計(jì),所見(jiàn)即所得。AWTK Designer本身就是采用AWTK編程實(shí)現(xiàn),界面如圖3所示。

 

圖3 AWTK Designer界面

 

  前景展望

在AWTK誕生以前,沒(méi)有哪一款GUI能具有如此廣泛的覆蓋性以及如此良好的伸縮性和延展性。此前的GUI,往往都是聚焦某一類(lèi)處理器或者某幾個(gè)平臺(tái),要么只支持某一些列處理器,要么只支持有限幾個(gè)軟件平臺(tái),這個(gè)現(xiàn)狀如今被AWTK打破。AWTK將成為一個(gè)可用于嵌入式、手機(jī)和PC的通用GUI系統(tǒng)。

 

AWTK采用LGPL協(xié)議發(fā)布,任何人或者組織都能獲取到源碼,并可用于商業(yè)用途而無(wú)需付費(fèi)。與現(xiàn)有商業(yè)GUI相比,既能為節(jié)省不少授權(quán)費(fèi)用,而且能掌握全部源碼,也能為提供更有力量的信心保證,僅從這兩點(diǎn)而言,對(duì)都是吸引力的。這勢(shì)必能吸引眾多嵌入式加入AWTK生態(tài),并為AWTK生態(tài)添磚加瓦。

 

AWTK的多種語(yǔ)言開(kāi)發(fā)特性,能吸引更多掌握不同語(yǔ)言技能的。目前大多數(shù)GUI,都僅支持某一種單一語(yǔ)言,C或者C++,而AWTK目前已經(jīng)支持C、Lua、Javascript on jerryscript、Javascript on nodejs等不同編程語(yǔ)言,將來(lái)還能支持其他開(kāi)發(fā)語(yǔ)言。這樣既能為提供編程便利,也能進(jìn)一步拓寬AWTK的應(yīng)用領(lǐng)域和使用人群。

 

AWTK與Linux的結(jié)合,可謂相得益彰,為嵌入式Linux的GUI帶來(lái)了福音,Linux生態(tài)也會(huì)促進(jìn)AWTK的成長(zhǎng)和發(fā)展。