刚开始进行嵌入式平台应用程序的开发,很容易对微软的一套架构的命名和版本产生混乱,笔者查阅了一些资料,对自己所掌握的Windows Mobile和WinCE在平台和应用方面的区别做些讲解。
这里讨论的Windows Mobile和WinCE,都是指的5.0版本,其他的版本,比如6.0,可能会有一些不同。WinCE是微软的嵌入式操作系统,是一个基础性质的系统,就好像一个变形金刚一样,可以被拆分,组合,添加或者删除一些功能和模块。而Windows Mobile和PocketPC以及Smartphone系统,则都是WinCE的衍生版本。PocketPC专注于PDA等手持设备,这类设备一般功能比较简单,应用比较广泛,大多数不支持摄像头,通话,短信等功能,我们开发的程序需要用到摄像头拍照,使用PocketPC进行开发就无法使用摄像头,不过这不是绝对的,应该总会有办法让其支持,因为PocketPC版本和WinCE并没有本质的区别;Smartphone主要就是智能手机了,但是这个版本的系统不支持触摸屏,所有的功能全部使用功能键来完成,我们使用的设备大多数需要用到鼠标点击,因此这个也不合适;功能最强大的应该就是Windows Mobile了,这是专注于智能手机的操作系统,并且支持触摸屏,我们购买的手机是多普达的,安装的正是Windows Mobile系统。
如果进行开发,原则上讲,在WinCE上可以开发出符合任何系统的程序来,但是如果开发的程序用到的组件其他的系统没有,应该就会出错。比如说,开发的程序是用摄像头进行拍照,把这个程序强行装到PocketPC系统上,运行出来就会出错,因为PocketPC并没有支持摄像头的组件。
VS2005默认可以创建WinCE的程序,PocketPC的程序,Smartphone的程序,创建的这些程序在Windows Mobile系统上都可以运行,而如果要开发Windows Mobile程序的话,就应该安装Windows Mobile SDK,安装好之后,就可以创建基于Windows Mobile系统的应用程序了。
Linux->Android
WinCE->Windows Mobile