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