嵌入式系统WinCE下应用程序GUI界面开发【转】

时间:2022-09-23 13:44:52

嵌入式系统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. Ubuntu系统下添加程序启动器

    Ubuntu系统上安装的软件,有的会自动创建快捷方式,在程序中可以搜索到,而有的安装后不会在应用程序中出现,如Eclipse.Spring Tool Suite或是绿色软件等,那么怎么手动创建快捷方式 ...

随机推荐

  1. Ubuntu 14.04下Django+MySQL安装部署全过程

    一.简要步骤.(Ubuntu14.04) Python安装 Django Mysql的安装与配置 记录一下我的部署过程,也方便一些有需要的童鞋,大神勿喷~ 二.Python的安装 由于博主使用的环境是 ...

  2. jQuery里$(this)和this的区别在哪?

    $(this)是jquery对象,能调用jquery的方法,例如click(), keyup().而this,则是html元素对象,能调用元素属性,例如this.id,this.value.例如假设已 ...

  3. vc++ basic chapt1

    ______API 和SDK _像c程序可以调用各种函数库一样, windows操作系统提供应用程序编程的接口application programming interface简称API函数. 所以主 ...

  4. Firefox-常用扩展

    抓包: HttpFox,相比 Firebug 在页面跳转或刷新时依旧保持原有数据 常用User-Agent模拟: User Agent Switcher 更改请求头: ModifyHeaders 更改 ...

  5. xml bug之cvc-complex-type.2.4.c: The matching wildcard is strict, but no declaration...

    1.今天重装了一下MyEclipse7.5,打开原来的Flex项目,又报了以下两个错误,之前解决过,但不想又出现,于是把它的解决方法贴出来,做个备忘! 错误信息为 错误信息 写道 cvc-comple ...

  6. 如何更好的理解(pageX,pageY,clientX,clientY,eventX,eventY,scrollX,scrollY,screenX,screenY,event.offsetX,event.offsetY,offsetLeft,style.left)

    1 pageX,pageY:鼠标指针相对于当前窗口的X,Y坐标,计算区域包括窗口自身的控件和滚动条.(火狐特有) 2 event.clientX,event.clientY:鼠标指针相对于当前窗口的X ...

  7. Cortex-M3寄存器等基础知识

    1.寄存器 CM3拥有R0~R15通用寄存器和一些特殊功能寄存器 R0~R12这些通用寄存器,复位初始值都是不可预料的 2.CM3有R0到R15的通用寄存器组 注:绝大部分的16位thumb只能访问R ...

  8. 转:ef获取某个表中的部分字段值

    我有个新闻表 id,title,body,createtime,author,click 使用ef4.1 仅仅读取 id,title,createtime 并显示在页面上. public static ...

  9. Win7系统下,docker构建nginx+php7环境实践

    前面两章介绍的是Windows系统下如何安装和配置docker,主要原因在于,公司大多人数用的是Windows环境,想通过在Windows环境上,通过docker,构建一个公用的配置. 首先要说明的是 ...

  10. Linux 源码安装 Python3

    下载源码包https://www.python.org/downloads/ 解压(以3.64版本为例)wget https://www.python.org/ftp/python/3.6.4/Pyt ...