4 . AWUI&AWTK
emWin说明书有一千多页,对于大多说开发者来说只是想使用emWin做个交互界面,需要花费大量的时间学习emWin的API。
为了使emWin更易用,致远电子在emWin基础上开发出AWUI,它是基于C++开发的一套MVVM框架,实现了数据绑定、命令绑定和窗口导航等基本功能,并提供丰富的GUI组件。AWUI相对于直接用emwin编程是巨大的飞跃, 因为它使用mvvm编程模型使得界面与逻辑分离(解耦)。MVVM是由MVC和MVP一路演化而来,它的作用就是实现用户界面和业务逻辑的分离,利于隔离变化、自动测试、分工合作。
图5 AWUI的框架思想
AWUI目前支持Qt和emWin,用Designer编辑界面,用C++开发ViewModel/Model,让开发者无需学习Qt和emWin的API最终的应用程序可以在Qt和emWin(要确保emWin上支持该控件)上运行。
基于AWUI,致远电子计划年内推出适用范围更广、更好用的AWTK。嵌入式UI开发将会以组件的方式集成于AWorks平台中,可在该平台下快速实现交互界面开发。
图6 AWUI发展计划
图7 AWorks中的UI框架