嵌入式系统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前端应用,提供更好的多媒体支持。
---------------------
作者:toradexsh
来源:CSDN
原文:https://blog.csdn.net/toradexsh/article/details/50441345
版权声明:本文为博主原创文章,转载请附上博文链接!

嵌入式系统WinCE下应用程序GUI界面开发【转】的更多相关文章

  1. python实现串口通讯小程序(GUI界面)

    python实现串口通讯小程序(GUI界面) 使用python实现串口通讯需要使用python的pyserial库来实现,这个库在安装python的时候没有自动进行安装,需要自己进行安装. 1.安装p ...

  2. [GUI]界面开发类库-Ribbon风格 [转]

    [GUI]界面开发类库 如果我们不十分清楚需要什么样的界面风格及如何实现,请按以下两个步骤操作: (1)       搞清楚这种风格叫什么名字 (2)       查现有的比较著名的GUI库是否已有相 ...

  3. 如何捕获Wince下form程序的全局异常

    前言 上两篇文章我们总结了在winform程序下如何捕获全局的异常.那么同样的问题,在wince下我们如何来处理呢?用相同的代码来处理可以吗? 答案是否定的,上面的方案1完全不能解决wince下的情况 ...

  4. [GUI]界面开发类库

    如果我们不十分清楚需要什么样的界面风格及如何实现,请按以下两个步骤操作: (1)       搞清楚这种风格叫什么名字 (2)       查现有的比较著名的GUI库是否已有相应的实现方案. (3)  ...

  5. Qt5 C++ GUI界面 开发环境配置 详细教程

    本博客已暂停更新,需要请转新博客http://www.whbwiki.com/333.html Qt 下载 Qt 体积很大,有 1GB~3GB,官方下载通道非常慢,相信很多读者会崩溃,所以建议大家使用 ...

  6. Python GUI界面开发环境配置:Pycharm+PyQt5

    通过DoS命令行执行如下命令,可能需要管理员权限. 检查Python版本:python 更新pip版本:python -m pip install --upgrade pip 安装PyQt5: pip ...

  7. 基于matlab的GUI界面开发软件

    matlab工具deploytool编译M为可执行程序 http://blog.sina.com.cn/s/blog_60f8483a0100gnsm.html

  8. 嵌入式系统图形库GUI核心模块介绍

    本文转载自:http://blog.csdn.net/xteda/article/details/6575278 (作者 冯青华 信庭嵌入式工作室(www.xteda.com)- CEO Blog:h ...

  9. 基于深度学习的车辆检测系统(MATLAB代码,含GUI界面)

    摘要:当前深度学习在目标检测领域的影响日益显著,本文主要基于深度学习的目标检测算法实现车辆检测,为大家介绍如何利用\(\color{#4285f4}{M}\color{#ea4335}{A}\colo ...

随机推荐

  1. SpringMVC(九) RequestMapping请求参数

    通过在控制器方法中使用@RequestParam(value="参数名",require=true/false,defaultvalue="")的方式,使在UR ...

  2. 利用Windows7自带的截图工具获取菜单截图的步骤

    打开截图工具后,按 Esc,然后打开要捕获的菜单. 按 Ctrl+PrtScn. 单击“新建”按钮旁边的箭头,从列表中选择“任意格式截图”.“矩形截图”.“窗口截图”或“全屏幕截图”,然后选择要捕获的 ...

  3. linux驱动之LCD(无framebuffer)

    <简介> a:什么是液晶 物质一般有三态,固态,气态,和液态.这只是一种比较大致的划分,但是有些物质介于液体和固体之间——液晶.一般固体的分子或原子都由固定的排列方式,但是液晶介于固体和液 ...

  4. BZOJ 4198: [Noi2015]荷马史诗 哈夫曼树 k叉哈夫曼树

    https://www.lydsy.com/JudgeOnline/problem.php?id=4198 https://blog.csdn.net/chn_jz/article/details/7 ...

  5. nodejs备忘总结(一) -- 基础入门

    什么是NodeJS JS是脚本语言,脚本语言都需要一个解析器才能运行.对于写在HTML页面里的JS,浏览器充当了解析器的角色.而对于需要独立运行的JS,NodeJS就是一个解析器. 每一种解析器都是一 ...

  6. HDU 5907 Find Q dp

    Find Q 题目连接: http://acm.hdu.edu.cn/showproblem.php?pid=5907 Description Byteasar is addicted to the ...

  7. mySql---数据库索引原理及优化

    一.写在前面 本文以MySQL数据库为研究对象,讨论与数据库索引相关的一些话题.特别需要说明的是,MySQL支持诸多存储引擎,而各种存储引擎对索引的支持也各不相同,因此MySQL数据库支持多种索引类型 ...

  8. 使用cwRsync实现windows下文件定时同步

    1.参考文献: 使用cwRsync实现windows下文件定时同步(备份) 文件同步工具CwRsync的使用方法及常用命令详解 2.背景: 当前的SCADA架构中,有1台Server,5台FE,还有1 ...

  9. Linux进程管理工具 Supervisord 的安装 及 入门教程

    Supervisor是一个进程管理工具,官方的说法: 用途就是有一个进程需要每时每刻不断的跑,但是这个进程又有可能由于各种原因有可能中断.当进程中断的时候我希望能自动重新启动它,此时,我就需要使用到了 ...

  10. 虫趣:BAD POOL CALLER (par1: 0x20)

    [作者:张佩] [原文:http://www.yiiyee.cn/Blog/0x19-1/] 内核在管理内存的时候,为了提高内存使用效率,对于小片内存的申请(小于一个PAGE大小),都是通过内存池来操 ...