简体   繁体   English

Win CE 7应用程序开发

[英]Win CE 7 application development

I have requirement that we need to develop a rich UI application(similar to WPF or silverlight). 我要求我们需要开发一个丰富的UI应用程序(类似于WPF或silverlight)。 The target device is having embedded OS Win CE 7. how can i achieve this, after so much R&D i got to know that 目标设备具有嵌入式OS Win CE7。经过如此多的研发,我如何才能做到这一点?

1. we have to user Silverlight for GUI and C++ as backend coding
2. we can create the MFC application using some third party SDK we will not be able to get rich UI

Also, i read that we can add components in WIN CE 7 for compact framework. 另外,我读到我们可以在WIN CE 7中添加用于紧凑框架的组件。

Is my above understanding correct, can someone throw some light on this? 我的上述理解正确吗,有人可以对此有所启发吗?

Just to add my 2 cents to Chris and Paolo's replies, if you are not building the OS image for the target device or, at least, can't control the features it supports, your choice may be limited by the set of components that were included into the OS image provided with the device. 只是在Chris和Paolo的答复中加了2美分,如果您没有为目标设备构建OS映像,或者至少不能控制其支持的功能,则您的选择可能会受到组件组的限制。随附在设备随附的OS映像中。 Windows CE is highly componentized and both the badly named "Silverlight for Windows Embedded" (XAML) and .NET Compact Framewor runtimes can be left out of the OS image to save storage space and memory. Windows CE具有高度的组件化功能,并且可以将OS Windows映像中不使用名称错误的“ Windows Embedded的Silverlight”(XAML)和.NET Compact Framewor运行时,以节省存储空间和内存。 The XAML runtime can leverage graphic acceleration (if the HW you are using provides it and the BSP includes drivers to use it, of course) and this may lead to a more responsive system, compared to a full .NET implementation. XAML运行时可以利用图形加速(当然,如果您使用的硬件提供了图形加速,并且BSP包括使用它的驱动程序),那么与完整的.NET实施相比,这可能导致系统响应更快。 I would also try to stay away from MFC for new implementation. 我还将尝试不使用MFC进行新的实现。 The only good reason to use MFC is that you already have an UI framework that fit your needs and is based on it. 使用MFC的唯一好的理由是,您已经有了一个可以满足您需求并基于它的UI框架。 Currently on CE you can decide between an easy to design and rich UI with complex to develop and debug code-behind (XAML) or an easy to develop .NET application with an ugly windows 95-like UI that require lot of work to be "beautified". 目前,在CE上,您可以选择具有复杂的开发和调试后台代码(XAML)的易于设计且功能丰富的UI,还是具有类似于Windows 95的丑陋UI且易于开发的.NET应用程序,这需要大量的工作才能“美化”。 XAML in the hand may merge the best of both worlds (requiring additional cost and two heavvy runtimes on your target, but this may not be an issue if you have a powerful x86 machine or a graphic accelerated ARM Cortex). 手中的XAML可能融合了两个方面的优点(目标上需要额外的成本和两个繁重的运行时,但是如果您拥有功能强大的x86机器或图形加速的ARM Cortex,则可能不会成为问题)。

To develop application on WEC 7 you need an SDK built from OEM that give you the target board. 要在WEC 7上开发应用程序,您需要从OEM构建的SDK,该SDK可为您提供目标板。 If you want to develop on a Virtual PC image you need Platform Builder to use CEPC BSP and create an OS image and the corresponding SDK. 如果要在Virtual PC映像上进行开发,则需要Platform Builder才能使用CEPC BSP并创建OS映像和相应的SDK。

After that, you can develop using Silverlight only with C++ but you can use .Net Compact Framework and managed code for Windows Forms development. 之后,您可以仅将Silverlight与C ++一起使用进行开发,但是可以将.Net Compact Framework和托管代码用于Windows Forms开发。

Paolo. 保罗。

It really, really depends on both your definition of "rich" and the graphics capability of the hardware you're targeting. 确实,这实际上取决于您对“丰富”的定义以及目标硬件的图形功能。

CE 7 supports the .NET Compact Framework. CE 7支持.NET Compact Framework。 Many people will say that you can't do "rich" UI in the CF, but that's not really true. 许多人会说您不能在CF中执行“丰富” UI,但这并不是真的。 You can't do it with the standard controls, but if you do your own custom control drawing, you can do pretty well. 您无法使用标准控件执行此操作,但是如果您自己绘制自定义控件,则可以做得很好。 Yet, it's a lot of work, but it can be done. 但是,这是很多工作,但是可以完成。 The limitations here are in alphablending (not fun to get working) and animation (also not fun), but with dedication you can work around many issues. 这里的局限性是在alphablending(开始工作很有趣)和动画(也不太有趣)中,但是通过奉献,您可以解决许多问题。

CE 7.0 also supports "Silverlight for Windows Embedded" (aka SWE). CE 7.0还支持“用于Windows Embedded的Silverlight”(又名SWE)。 First thing to know there is that it's really not Silverlight. 首先要知道的是,它实际上不是Silverlight。 It's a XAML rendering engine, but any other Silverlight assets you might have won't work with it. 它是XAML呈现引擎,但您可能无法使用的任何其他Silverlight资产。

SWE supports only C++, though since it is COM based, it can be wrapped in CF classes and then used from managed code. SWE仅支持C ++,尽管由于它基于COM,所以可以将其包装在CF类中,然后从托管代码中使用。 I've seen a couple of companies do this, and one even offers it as a product . 我见过一些公司这样做, 甚至有一个公司将其作为产品提供

MFC is available, but since MFC was crap even 10 years ago, I definitely wouldn't use it today. 可以使用MFC,但是由于MFC甚至在10年前就已经废弃了,所以我今天绝对不会使用它。 If you want to use C++ but not SWE, there are better options than MFC. 如果要使用C ++而不是SWE,则有比MFC更好的选择。 STL and WTL come to mind for windowing apps. 窗口应用程序会想到STL和WTL。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM