技術(shù)文章
Technical articlesAWTK是一個(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以及各種小程序,可以說是一個(gè)的嵌入式GUI引擎。
AWTK的跨平臺特性,使得應(yīng)用程序開發(fā)也極為便利,在Windows上開發(fā)完成的程序,只需經(jīng)過簡單交叉編譯即可下載至嵌入式目標(biāo)板運(yùn)行,且得到的效果是*一樣的,無需再進(jìn)行任何修改。
AWTK的特點(diǎn)
AWTK旨在為用戶提供一個(gè)功能強(qiáng)大、簡單易用,能輕松做出炫酷效果的GUI引擎,具有如下特點(diǎn):
1、開源、免費(fèi),用于商業(yè)無需付費(fèi);
2、:小巧,可運(yùn)行在Cortex-M3等小資源平臺(參考圖1);
3、跨平臺:支持跨多種操作系統(tǒng),跨多種硬件平臺(參考圖2);
4、穩(wěn)定:架構(gòu),檢查測試,多平臺驗(yàn)證以及強(qiáng)大后備技術(shù)支援;
5、功能強(qiáng)大:
支持硬件加速,支持視網(wǎng)膜高清分辨率技術(shù);
擁有完善的動畫系統(tǒng),豐富的GUI控件;
支持位圖字體和矢量字體;
內(nèi)置中英文輸入法,并支持智能詞組輸入;
支持多語言開發(fā),支持化;
6、易用;
7、支持純C語言編程;
8、支持組態(tài)方式開發(fā)界面,所見即所得;
9、提供完善的API手冊、使用文檔和大量示例代碼:
支持純C語言編程;
支持組態(tài)方式開發(fā)界面,所見即所得;
提供完善的API手冊、使用文檔和大量示例代碼;
10、擴(kuò)展性好:可擴(kuò)展控件、動畫、引擎等。
圖1 廣泛處理器支持
圖2 多軟件平臺支持
AWTK開發(fā)環(huán)境
ZLG致遠(yuǎn)電子即將推出AWTK集成開發(fā)環(huán)境AWTK Designer,簡化AWTK界面設(shè)計(jì),無需手寫XML,采用拖拽方式即可完成界面設(shè)計(jì),所見即所得。AWTK Designer本身就是采用AWTK編程實(shí)現(xiàn),界面如圖3所示。
圖3 AWTK Designer界面
前景展望
在AWTK誕生以前,沒有哪一款GUI能具有如此廣泛的覆蓋性以及如此良好的伸縮性和延展性。此前的GUI,往往都是聚焦于某一類處理器或者某幾個(gè)平臺,要么只支持某一些列處理器,要么只支持有限幾個(gè)軟件平臺,這個(gè)現(xiàn)狀如今被AWTK打破。AWTK將成為一個(gè)可用于嵌入式、手機(jī)和PC的通用GUI系統(tǒng)。
AWTK采用LGPL協(xié)議發(fā)布,任何人或者組織都能獲取到源碼,并可用于商業(yè)用途而無需付費(fèi)。與現(xiàn)有商業(yè)GUI相比,既能為節(jié)省不少授權(quán)費(fèi)用,而且能掌握全部源碼,也能為提供更有力量的信心保證,僅從這兩點(diǎn)而言,對都是吸引力的。這勢必能吸引眾多嵌入式加入AWTK生態(tài),并為AWTK生態(tài)添磚加瓦。
AWTK的多種語言開發(fā)特性,能吸引更多掌握不同語言技能的。目前大多數(shù)GUI,都僅支持某一種單一語言,C或者C++,而AWTK目前已經(jīng)支持C、Lua、Javascript on jerryscript、Javascript on nodejs等不同編程語言,將來還能支持其他開發(fā)語言。這樣既能為提供編程便利,也能進(jìn)一步拓寬AWTK的應(yīng)用領(lǐng)域和使用人群。
AWTK與Linux的結(jié)合,可謂相得益彰,為嵌入式Linux的GUI帶來了福音,Linux生態(tài)也會促進(jìn)AWTK的成長和發(fā)展。