嵌入式系统WinCE下应用程序GUI界面开发
ByToradex 秦海
本文旨在介绍嵌入式系统在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是微软WindowsPresentation Foundation(WPF)的一个子集,同时也是XAML的子集,具备矢量绘图,多媒体与图形显示,流媒体支持等特性。
一个利用Sliverlight在Toradex ARM平台进行应用程序开发的例子请参考这里
- Qt
Qt是一个跨平台应用和UI 开发框架(Framework),使用标准C++,适用于桌面,嵌入式和移动平台,支持Windows,WinCE,Linux,Mac,iOS,Android等众多系统平台,以友好的开发环境和集成的多种开发工具以及对OpenGL ES2的支持使其成为嵌入式应用开发利器。Qt包含多种许可证版本,详细信息可以
一个利用Qt在ToradexARM平台进行应用程序开发的例子请参考这里
总结
以上列出了目前常见的嵌入式系统基于WinCE下应用程序GUI界面开发的方案,直接使用Win32 API当然最直接高效,适用于简单界面而对程序大小比较敏感的情况;.NET 开发框架和Qt都是更高级别的开发框架,提供了更有效率的开发环境和更先进的GUI方案,而从跨平台角度来考虑,Qt无疑更具优势,同时Qt使用原生C++,相对执行效率要好一些;而Silerlight则主要侧重于web前端应用,提供更好的多媒体支持。