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

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

- Qt
Qt是一個(gè)跨平臺(tái)應(yīng)用和UI 開(kāi)發(fā)框架(Framework),使用標(biāo)準(zhǔn)C ,適用于桌面,嵌入式和移動(dòng)平臺(tái),支持Windows,WinCE,Linux,Mac,iOS,Android等眾多系統(tǒng)平臺(tái),以友好的開(kāi)發(fā)環(huán)境和集成的多種開(kāi)發(fā)工具以及對(duì)OpenGL ES2的支持使其成為嵌入式應(yīng)用開(kāi)發(fā)利器。Qt包含多種許可證版本,詳細(xì)信息可以
一個(gè)利用Qt在Toradex ARM平臺(tái)進(jìn)行應(yīng)用程序開(kāi)發(fā)的例子請(qǐng)參考這里

總結(jié)
以上列出了目前常見(jiàn)的嵌入式系統(tǒng)基于WinCE下應(yīng)用程序GUI界面開(kāi)發(fā)的方案,直接使用Win32 API當(dāng)然最直接高效,適用于簡(jiǎn)單界面而對(duì)程序大小比較敏感的情況;.NET 開(kāi)發(fā)框架和Qt都是更高級(jí)別的開(kāi)發(fā)框架,提供了更有效率的開(kāi)發(fā)環(huán)境和更先進(jìn)的GUI方案,而從跨平臺(tái)角度來(lái)考慮,Qt無(wú)疑更具優(yōu)勢(shì),同時(shí)Qt使用原生C ,相對(duì)執(zhí)行效率要好一些;而Silerlight則主要側(cè)重于web前端應(yīng)用,提供更好的多媒體支持。
|