嵌入式系统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. 分类器评估方法:精确度-召回率-F度量(precision-recall-F_measures)

    注:本文是人工智能研究网的学习笔记 Precision和Recall都能够从下面的TP,TN,FP,FN里面计算出来. 几个缩写的含义: 缩写 含义 P condition positive N co ...

  2. android 获取sd卡根目录

    dir:/storage/emulated/0 也就是 sdcard目录 ====== android 获取sd卡根目录 public String getSDPath(){        File ...

  3. 模板 图的遍历 bfs+dfs 图的最短路径 Floyed+Dijkstra

    广搜 bfs //bfs #include<iostream> #include<cstdio> using namespace std; ],top=,end=; ][]; ...

  4. Atcoder Contest069F:Flag

    题目:https://arc069.contest.atcoder.jp/tasks/arc069_d 题意就是让你在n对数字每一对都选一个数使得任意两个数做差的绝对值最小值最大. 关系显然是一个2- ...

  5. 【BZOJ-4016】最短路径树问题 Dijkstra + 点分治

    4016: [FJOI2014]最短路径树问题 Time Limit: 5 Sec  Memory Limit: 512 MBSubmit: 1092  Solved: 383[Submit][Sta ...

  6. C++中如何访问全局变量和全局函数

    全局变量和全局函数是相对局部变量和局部函数而言的,不在{}或者for, if 等范围内的都是全局变量或者全局函数,最简单的是在同一个文件中去声明. 例如在mian.cpp中 #include < ...

  7. 【原】Spring整合Redis(第三篇)—盘点SDR搭建中易出现的错误

    易错点01:Spring版本过低导致的错误[环境参数]Redis版本:redis-2.4.5-win32-win64Spring原来的版本:4.1.7.RELEASESpring修改后的版本:4.2. ...

  8. Slickflow.NET 开源工作流引擎基础介绍(八) -- 自动化任务调度实现介绍

    前言:审批流程中常见的都是人工类型任务,但是也会有一些自动化的任务需要定时触发.因此,引擎框架中需要解决掉两个问题:选择合适的任务调度框架,集成新的任务调度模块. 1. 任务调度框架选择 Hangfi ...

  9. HDU 4770 Lights Against Dudely (2013杭州赛区1001题,暴力枚举)

    Lights Against Dudely Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Ot ...

  10. HDU4607(求树中的最长链)

    题目:Park Visit 题意:给定一棵树,从树中的任意选一个顶点出发,遍历K个点的最短距离是多少?(每条边的长度为1) 解析:就是求树的最长链,假设求出的树的最长链所包含的点数为m,那么如果K&l ...