4 . AWUI&AWTK
emWin說(shuō)明書(shū)有一千多頁(yè),對(duì)于大多說(shuō)開(kāi)發(fā)者來(lái)說(shuō)只是想使用emWin做個(gè)交互界面,需要花費(fèi)大量的時(shí)間學(xué)習(xí)emWin的API。
為了使emWin更易用,致遠(yuǎn)電子在emWin基礎(chǔ)上開(kāi)發(fā)出AWUI,它是基于C++開(kāi)發(fā)的一套MVVM框架,實(shí)現(xiàn)了數(shù)據(jù)綁定、命令綁定和窗口導(dǎo)航等基本功能,并提供豐富的GUI組件。AWUI相對(duì)于直接用emwin編程是巨大的飛躍, 因?yàn)樗褂?/span>mvvm編程模型使得界面與邏輯分離(解耦)。MVVM是由MVC和MVP一路演化而來(lái),它的作用就是實(shí)現(xiàn)用戶界面和業(yè)務(wù)邏輯的分離,利于隔離變化、自動(dòng)測(cè)試、分工合作。
圖5 AWUI的框架思想
AWUI目前支持Qt和emWin,用Designer編輯界面,用C++開(kāi)發(fā)ViewModel/Model,讓開(kāi)發(fā)者無(wú)需學(xué)習(xí)Qt和emWin的API最終的應(yīng)用程序可以在Qt和emWin(要確保emWin上支持該控件)上運(yùn)行。
基于AWUI,致遠(yuǎn)電子計(jì)劃年內(nèi)推出適用范圍更廣、更好用的AWTK。嵌入式UI開(kāi)發(fā)將會(huì)以組件的方式集成于AWorks平臺(tái)中,可在該平臺(tái)下快速實(shí)現(xiàn)交互界面開(kāi)發(fā)。
圖6 AWUI發(fā)展計(jì)劃
圖7 AWorks中的UI框架