本文旨在介紹嵌入式系統在Wince下進行GUI應用程序開發可以選擇的不同GUI開發框架(Framework),目前最常用的幾種方案如下 –
?原生的Win32應用程序編程 - Microsoft
?.NET Compact Framework - Microsoft
?第三方.NET Compact Framework 控件 - Open .NETCF Library / BeeMobile / Resco
?Silverlight - Microsoft
?Qt - Digia
- 原生的Win32應用程序編程
直接調用Win32 API采用C 進行編程開發,因為直接調用系統底層API,最大程度的硬件級別優化使得執行效率最好,功能比較靈活豐富,不依賴相對龐大的運行環境使應用可以盡可能的簡潔小巧;但對復雜界面應用程序開發難度相對較大,開發周期也較長,因此更適合與簡單界面小型應用。Toradex為其Colibri系列ARM模塊提供的一些Wince系統配置工具軟件都是基于Win32 開發的,詳細信息和下載請參考這里。
- .NET Compact Framework(.NET CF)
.NET CF 是微軟.NET Framework的子集合,專為 WinCE 平臺系列操作系統提供應用程序開發的支持,目前最新版本仍然是2007年底發布的.NET CF 3.5,開發工具為Visual Studio 2008。.NET提供了一個更高級別的開發平臺,減少直接操作底層硬件的風險,更穩定且應用開發效率更好,對于復雜GUI應用可以方便高效的提供更先進的開發體驗。
一個基于.NET CF和VC#在Toradex ARM平臺開發的例子請參考這里。

- 第三方.NET Compact Framework Controls
第三方公司提供的可以直接使用的.NET CF 控件,可以進一步減小應用開發周期,相關詳細信息和許可證情況請參考下面其官方網站
1. Open .NET CF
2. Beemobile website
3. Resco Controls website
- Silverlight
Silverlight是微軟開發的Web前端應用程序開發解決方案,以瀏覽器的plug-in 方式提供web應用程序中多媒體與高度交互性前端應用程序解決方案,目前已經被各主流瀏覽器所支持,同時操作系統除了Windows/Wince,也支持Mac OS和Linux/FreeBSD/SolarisOS(通過開源項目Mono)。
Silverlight 是微軟Windows Presentation Foundation(WPF)的一個子集,同時也是XAML的子集,具備矢量繪圖,多媒體與圖形顯示,流媒體支持等特性。
一個利用Sliverlight在Toradex ARM平臺進行應用程序開發的例子請參考這里

- Qt
Qt是一個跨平臺應用和UI 開發框架(Framework),使用標準C ,適用于桌面,嵌入式和移動平臺,支持Windows,WinCE,Linux,Mac,iOS,Android等眾多系統平臺,以友好的開發環境和集成的多種開發工具以及對OpenGL ES2的支持使其成為嵌入式應用開發利器。Qt包含多種許可證版本,詳細信息可以
一個利用Qt在Toradex ARM平臺進行應用程序開發的例子請參考這里

總結
以上列出了目前常見的嵌入式系統基于WinCE下應用程序GUI界面開發的方案,直接使用Win32 API當然最直接高效,適用于簡單界面而對程序大小比較敏感的情況;.NET 開發框架和Qt都是更高級別的開發框架,提供了更有效率的開發環境和更先進的GUI方案,而從跨平臺角度來考慮,Qt無疑更具優勢,同時Qt使用原生C ,相對執行效率要好一些;而Silerlight則主要側重于web前端應用,提供更好的多媒體支持。
|