Windows Embedded Compact 7试用笔记(1)——新变化

    其实在几个月前就开始试用Windows Embedded Compact 7的社区预览版了,但当时因为NDA的关系,不能公开相关信息。在与微软开发人员的交流中,能明显感觉到他们承受的极大压力,甚至有MVP直接质问:WinCE 是不是已经走向死亡了?国内做WinCE/Mobile开发的人,应该对此也有很深切的感受,Android不仅仅是Windows mobile/windows phone的强大对手,同时也是WinCE的强大对手。我知道今年以来,国内很多公司陆续放弃了WinCE/mobile平台,转向Android,其中最知名的就是魅族了;很多朋友也不得不转变技术方向,去学习Android的开发;连我所在的公司,也大大削减了WinCE开发人员数量,而大规模招聘Andriod开发人员。在这样的形式下,将于年底推出的Windows CE新的版本--改名后的Windows Embedded Compact 7到底表现如何,牵动着很多开发人员的心。

    说起我这几个月的使用感受,那真是百味杂陈。总的说,WinEC7确实做了很大的改进,但这些改进是否能让人耳目一新,是否能让它打败竞争对手,那还真的很难说。

    好了,闲话少说,下面我们就看看,到底新的版本有了些什么变化:

    1.系统开发和应用程序开发都需要在Visual studio 2008下进行,PB7做为其下面的一个插件。这个应该在预料之中,但是有一条,可能很多人都接受不了:VS2010既不能用于WinEC7的系统开发,也不能用于应用程序开发。据说之所以这样,是VS的插件结构,每个版本都会做很大的改动,而因为Windows Phone开发优先调用了相关人力资源,所以WinEC7团队找不到人来做这件事,所以不得不做出妥协。

    2.Silverlight功能的加强,在WinCE6 r3中,微软第一次把Silverlight引入到嵌入式平台,在新版本中,该功能得到了很大的加强,不过依然是只支持C/C++的native code开发,不能使用manage code

    3.无线网络的支持得到很大的加强,WIFI,蓝牙,CELLCORE部分的支持都比以前的版本强大很多,估计用它做手机系统,应该会比原来容易很多。

    4.MFC应该是彻底抛弃了,和WinCE6一样的是,在CATALOG里面你找不到MFC;和WinCE6不一样的是,在OTHER目录下也没有了MFC的踪影。

    5.Device Emulator没有了,Vitual PC取代了这部分功能。

    6.新的IE7增强了网络浏览的体验。

    7.支持的CPU类型ARMV5,ARMV6,ARMV7,MIPSII,X86,原来的SH4,ARMV4I已经不支持了。

    8.很多驱动都进行了改写,同时新增了很多新的驱动。

    9.支持多点触摸,支持手势输入。

    以上,是WinEC7的一些主要变化,接下来,我们一起来动手体验一下实际的开发过程,首先是定制一个系统。

posted @ 2010-06-23 00:02 时永安 阅读(2758) 评论(13) 编辑 收藏

 回复 引用 查看   
#1楼 2010-06-23 10:15 BenBen789      
也就是说,如果基于WinCE7的手机,还是不能silverlight开发,除非在Windows Phone7 上做silverlight?
那基于WinCE7的窗体模型又是怎样的呢?是传统的win32还是可以解析xaml?

 回复 引用 查看   
#2楼[楼主] 2010-06-23 10:26 时永安      
引用BenBen789:
也就是说,如果基于WinCE7的手机,还是不能silverlight开发,除非在Windows Phone7 上做silverlight?
那基于WinCE7的窗体模型又是怎样的呢?是传统的win32还是可以解析xaml?


呃,你误解了,我只是说不能用C#这样的语言来开发,只能用c/c++来写代码。窗体有2种编程方式,传统的不用说,silverlight当然是用XAML

 回复 引用 查看   
#3楼 2010-06-23 11:35 Jake Lin      
MFC是时候要死了。Silverlight一统江湖,但是我也没搞清楚微软为什么没有把所有平台统一,Windows Phone 7开发的Silverlight程序又不能在Windows Embedded Compact 7下用。iPad可以直接应用iPhone的程序,使得他一出来就拥有了几十万个应用。但是WP和WEC还是各自不兼容。请问你的消息从哪里来的,我怎么一点都没听到,我现在一直在Windows CE 6R3上做开发,还是很关心CE的发展呀。
 回复 引用 查看   
#4楼 2010-06-23 13:59 王克伟      
顶,
IE7有点尴尬,
我知道一点的是内核部分在安全性方面有改进,比如Heap Manager,附带的一些问题分析工具也有所改进,比如CeDebugX。

 回复 引用 查看   
#5楼 2010-06-23 14:24 王克伟      
@Jake Lin
Windows Phone对硬件要求有规定,
CE估计还是有可能跑在较差的设备上,用C#版的估计还是慢了,不能兼容WP上面的Silverlight应用,搞的不伦不类,尴尬
好像iPhone里面只有优化过的应用可以跑在iPad上吧,至少程序的图片得放大点吧:)

 回复 引用 查看   
#6楼[楼主] 2010-06-23 14:26 时永安      
引用Jake Lin:MFC是时候要死了。Silverlight一统江湖,但是我也没搞清楚微软为什么没有把所有平台统一,Windows Phone 7开发的Silverlight程序又不能在Windows Embedded Compact 7下用。iPad可以直接应用iPhone的程序,使得他一出来就拥有了几十万个应用。但是WP和WEC还是各自不兼容。请问你的消息从哪里来的,我怎么一点都没听到,我现在一直在Windows CE 6R3上做开发,还是很关心CE的发展呀。

我是从CTP附带的文档里面看的“and add to the XAML elements in the visual tree with C++ code”。我估计这样做,是没办法要求WinCE所用的硬件,和wp7一样高,所以没办法保证性能。据马宁说,当初ce6 r3也是因为用C#做运行速度太慢,才不得不放弃的。

 回复 引用 查看   
#7楼[楼主] 2010-06-23 14:39 时永安      
引用王克伟:
顶,
IE7有点尴尬,
我知道一点的是内核部分在安全性方面有改进,比如Heap Manager,附带的一些问题分析工具也有所改进,比如CeDebugX。


是啊,PC上IE9马上都要出来了,而且对HTML5标准基本不支持,这在现在绝对是个大缺陷。

进步是可以支持flash10了,不过好像又不支持自己的silverlight

 回复 引用 查看   
#8楼 2010-06-24 14:30 xiaowen      
@时永安
引用时永安:
呃,你误解了,我只是说不能用C#这样的语言来开发,只能用c/c++来写代码。窗体有2种编程方式,传统的不用说,silverlight当然是用XAML



我在微软官方主页上看到,WinEC Standard 7 是支持 .net Framework 3.5 SP1 的:
http://www.microsoft.com/windowsembedded/zh-cn/products/westandard/default.mspx

这样的话,为什么会不支持C#呢?请问楼主你确定不能使用C#写托管的程序吗?

你还提到,马宁说C#性能太差,请问是在什么样的硬件配置下得出的结论?

我很快也要进入这个领域进行开发,希望楼主能够给予解答,谢谢

 回复 引用 查看   
#9楼[楼主] 2010-06-24 16:02 时永安      
引用xiaowen:
@时永安
引用时永安:
呃,你误解了,我只是说不能用C#这样的语言来开发,只能用c/c++来写代码。窗体有2种编程方式,传统的不用说,silverlight当然是用XAML



我在微软官方主页上看到,WinEC Standard 7 是支持 .net Framework 3.5 SP1 的:
http://www.microsoft.com/windowsembedded/zh-cn/products/westandard/default.mspx

这样的话,为什么会不支持C#呢?请问楼主你确定不能使用C#写托管的程序吗?

你还提到,马宁说C#性能太差,请问是在什么样的硬件配置下得出的结论?

我很快也要进入这个领域进行开发,希望楼主能够给予解答,谢谢

你这段话里问题不少:
1.你看到的那个网页,说的是Windows Embedded Standard 7,我这里说的是Compact 7,这是完全不同的产品。
2.我也没有说过,Conmpact 7不支持C#,事实是,它带了.net compact framework 3.5,所以一定是支持C#开发的。我说的是Silverlight 开发不能使用C#

3.马宁不是说C#性能太差,是说C#在做silverlight for wince的时候性能差,具体什么配置,我也没了解。

 回复 引用 查看   
#10楼 2010-06-24 17:31 xiaowen      
@时永安
OK!完全理解了!非常感谢你的回复!
我在嵌入式开发这方面完全是个新手,你的回复对我来说很重要,谢谢了!

 回复 引用 查看   
#11楼 2011-10-28 11:15 chenxizhou      
@时永安
我想问两个问题:
1. Windows embedded Compact 7正式发布了吗?
2. 上面提到Sllverlight只能C++来写,那如果我用Silverlight做界面,可以调用C#的dll吗?或者说是两者之间(silverlight为UI,.net为逻辑业务)可以结合吗?

 回复 引用 查看   
#12楼[楼主] 2011-10-28 14:36 时永安      
1.早就发布了。
2.当然可以。

 回复 引用 查看   
#13楼 2011-10-31 09:16 chenxizhou      
@时永安
引用时永安:
1.早就发布了。
2.当然可以。



谢谢楼主的回复。
我想问下第二个问题,如何实现,机制是什么。C++的silverlight程序,该如何调用C#dll类。如果C#返回的List对象,C++如何识别呢?换能给点具体的简单sample吗?