嵌入式系统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. View初探

    View初探 学习自 <Android开发艺术探索> View漫谈 Activity构成了我们的界面但是知识一个空壳子,Activity与View相结合才构成了我们丰富多彩的界面,并且为了 ...

  2. 20172319 2018.10.12《Java程序设计教程》第6周课堂实践(补写博客)

    20172319 2018.10.12 <Java程序设计教程>第6周课堂测验 课程:<程序设计与数据结构> 班级:1723 学生:唐才铭 学号:20172319 指导老师:王 ...

  3. Western Subregional of NEERC, Minsk, Wednesday, November 4, 2015 Problem H. Parallel Worlds 计算几何

    Problem H. Parallel Worlds 题目连接: http://opentrains.snarknews.info/~ejudge/team.cgi?SID=c75360ed7f2c7 ...

  4. ant design的一些坑

    1.在本地修改ant design的某些样式可以生效,但在线上就失效了.比如collapse组件里的箭头图标在本地和在线上的类名有变化,本地类名,线上类名:箭头图标的svg样式在线上会自动添加一个内联 ...

  5. 异步接收MSMQ消息

    在这部分,我们将使用ThreadPool 和MSMQ 进行消息收发.MSMQ 是一个分布式队列,通过MSMQ 一个应用程序可以异步地与另外一个应用程序通信. 在一个典型的场景中,我们要向维护一个队列的 ...

  6. 使用CefSharp在.Net程序中嵌入Chrome浏览器(七)——右键菜单

    一个常用的功能就是禁止浏览器本身的右键菜单,靠在WPF中拦截鼠标事件是不行的,可以通过设置MenuHandler来实现. 首先实现一个IContextMenuHandler. public class ...

  7. RX库中的IDisposable对象

    IDisposable是.net中的主动资源释放接口,它是在编程过程中经常使用到的一个接口,本文介绍一下微软在Rx.NET中提供的一系列常用的Disposable类,通过它们可以简化我们的程序代码,提 ...

  8. 在eclipse中查看Android源码

    声明:高手跳过此文章 当我们在eclipse中开发android程序的时候.往往须要看源码(可能是出于好奇,可能是读源码习惯),那么怎样查看Android源码呢? 比方以下这样的情况 图1 如果我们想 ...

  9. 搭建基于crtmpserver的点播解决方案

    1. linux环境下build并启动crtmpserver 这部分可以参见我写的专项详解文章 <crtmpserver流媒体服务器的介绍与搭建> 和 <crtmpserver配置文 ...

  10. javascript:currentStyle和getComputedStyle的兼容写法

    currentStyle:获取计算后的样式,也叫当前样式.最终样式. 优点:可以获取元素的最终样式,包括浏览器的默认值,而不像style只能获取行间样式,所以更常用到. 注意:不能获取复合样式如bac ...