本文描述了如何搭建典型的Windows Mobile开发环境。介绍了相应的IDE、SDK及辅助开发工具的安装及常用配置,并对Windows Mobile下一代开发环境的发展前景做出展望。本文适合初次接触Windows Mobile开发的开发人员。
Windows Mobile是微软公司操作系统产品线上重要的一环。与Windows 9x/NT/XP/2003相比,Windows Mobile作为完整产品线出现在公众面前的时间非常短,但它的发展却异常迅速,而在这一发展过程中,开发人员提供了绝对关键的推动力。现在,越来越多的开发人员(特别是.NET开发人员)希望能尽快进入Windows Mobile的开发领域,而他们所面临的首要问题,除了熟悉Windows Mobile平台特性之外,便是如何搭建适合的开发环境。因此,本文就将从如何搭建一个Windows Mobile开发环境入手,对Windows Mobile平台的开发特性进行概要描述,以期帮助开发人员迅速进入Windows Mobile开发领域。
在展开本文的内容之前需要说明的一点是,Windows Mobile平台开发主要包含以下两方面内容:
l 平台级开发
l 应用级开发
因为Windows Mobile平台构建于微软的Windows CE系列操作系统之上(当前正式商用版本为Windows CE .NET 4.21),而Windows CE操作系统具有非常良好的模块化特性,因此开发人员,特别是手机设备厂商,可以通过微软提供的Platform Builder及eMbedded Visual C++(以下简称为eVC)非常方便地定制自己所需的操作系统。这对应的是上面所说的平台级开发。
然而,绝大多数的开发人员并不需要去构建一个全新的、个性化的系统,他们只需要关心如何构建能够运行在Windows Mobile设备上的应用程序。为此,微软按主要智能设备自身硬件设备特性的不同以及用户体验的差异,定制出了Windows CE .NET 4.x系列操作系统的两个主要分支,分别安装在不同的Windows Mobile硬件设备中,从而也就构成了我们通常所说的Pocket PC和Smartphone。以下内容中的Windows Mobile开发,除特指之外,均表示Pocket PC/Smartphone开发。
本文中提供的大量开发工具,除单独标出的以外,均可在http://msdn.microsoft.com/mobility/downloads/default.aspx下载。
为了进行Windows Mobile开发,我们需要搭建相应的开发环境。所幸的是,这一环境搭建起来非常简单。
为了降低Windows Mobile的开发难度,提高开发人员的开发效率,微软把.NET Framework移植到了Windows Mobile设备上,针对Windows Mobile设备及Windows CE .NET操作系统设计了.NET Compact Framework(以下简称.NET CF)。而Visual Studio .NET 2003正是开发.NET CF应用程序的最佳IDE。在Visual Studio .NET 2003的安装中默认集成了.NET CF 1.0,同时提供了Pocket PC 2002的开发模板,可以直接用来开发Pocket PC 2002应用程序。
您也可以选择Visual Studio 2005作为开发工具,目前最高版本为Beta 1 Refresh。在Visual Studio 2005中,默认提供了Pocket PC/Smartphone 2003 SE(第二版)的开发模板,同时将Pocket PC 2003 SE开发使用.NET CF版本升级到2.0 (beta)。
以上环境已经完全可以基于.NET CF开发Windows Mobile应用程序。但如果您想使用C/C++语言来进行native开发,或者想在Windows Mobile设备上开发COM组件及应用,那么可以选择eVC作为开发工具。目前eVC的最高版本为4.0 + SP4,请确保安装了最新的补丁包。
也许您会问:既然已经有了Visual Studio .NET环境,为什么还要使用eVC作为开发工具呢?这主要是因为,当前的.NET CF功能相对而言还很不完整,有很多Windows CE .NET操作系统的核心功能没有被封装入.NET CF,如:加密/解密、网络底层通讯、COM互操作、RAPI等等。为了完成上述操作,我们或者使用平台调用(P/Invoke)以托管方式开发,或者使用eVC直接针对系统底层进行native开发。对于COM互操作,目前.NET CF还不提供COM互操作(Interop)机制,只能使用eVC进行C/C++ COM开发。好消息是,在.NET CF 2.0中将提供功能强大的COM互操作特性支持,同时也将在Visual C++ 2005环境中同时提供managed及native开发功能,这样所有的开发工作将完全整合在Visual Studio 2005同一环境中。
为了开发Pocket PC 2003或Smartphone 2003应用程序,您还需要安装Pocket PC 2003 SDK或Smartphone 2003 SDK。值得注意的是,这两款SDK中所包含的模拟器均为英语环境,如果您想使用简体中文环境的模拟器,请去微软网站上单独下载。
如果您使用Visual Studio 2005开发Windows Mobile应用程序,则不需要单独安装相应的SDK,因为SDK已经被默认集成至了Visual Studio 2005环境中。
这是Pocket PC上推荐使用的嵌入式数据库产品,它与SQL Server桌面版之间可以实现良好的数据同步及互操作,目前正式版的最新版本为2.0。在SQL Server 2005 Beta 2测试版中,包含有SQL Server CE 2.0的升级版本SQL Server 2005 Mobile Edition——不过该版本目前只支持Pocket PC 2003系统。预计SQL Server Mobile Edition在下一个版本中才能提供对Smartphone的支持。
在完成了上述开发环境的搭建之后,您就可以在Visual Studio .NET中开发和调试应用程序,并在设备/模拟器中进行部署。但是,如果您还需要进一步执行下述操作,那么请按本节所述继续搭建ActiveSync环境。可能的执行操作包括(但不限于):
l 向设备/模拟器中复制文件
l 从设备/模拟器中删除文件
l 与设备/模拟器同步数据
l 开发和调试包含RAPI (Remote API)功能的应用
l ……
ActiveSync是一款管理Windows Mobile设备连接、与PC进行数据同步的工具。如果您开发时使用的是真实设备,则最好事先安装ActiveSync使之与PC机连接。如果您使用的是模拟器,则除了安装ActiveSync以外,还需要安装下述工具。
如果您使用的是模拟器软件,除了安装ActiveSync外,还必须安装Connect Emulator with ActiveSync这款工具软件。它将使您可以直接通过ActiveSync连接到模拟器上。
除了上述基本开发工具以外,在Windows Mobile开发社区中还存在着大量的辅助工具,包括应用程序框架、工具、控件等等。其中有一些由于定位准确、制作优良、使用方便,已经成为Windows Mobile开发不可或缺的好助手。以下列出其中的一部分,更多的还存在于Windows Mobile开发者社区及互联网上,等待着您去发现。
由几位长年活跃于Windows Mobile开发者社区的MVP共同开发的OpenNETCF.org Smart Device Framework (以下简称为SDF),几天前刚刚获得了Pocket PC Magazine评出的2004年度最佳.NET开发框架大奖。熟悉SDF的开发者都会认为,对于这一奖项,OpenNETCF的确当之无愧,因为SDF几乎已经成了Windows Mobile开发者不可或缺的工具。他们对.NET CF的不足给出了及时的弥补,在SDF中,您可以找到Configuration、XML Serialization、 Notification、Interop Services、WSE 2.0等一系列.NET CF当前版本尚未提供的功能,以及诸如ListBoxEx等优秀的控件。更值得一提的是,SDF是一项完全免费的开源项目。这几位MVP为整个Windows Mobile开发者社区所做的贡献也许真的无法用金钱来衡量。
下载地址:http://www.opennetcf.org/。
这是微软继Pocket PC/Smartphone 2003 SDK之后为开发人员提供的另一套开发辅助工具集。其中包含不少非常值得一用的优秀工具,如:
l ActiveSync Remote Display:把连接在PC上的智能设备影像通过PC屏幕放大显示
l CECopy:以命令行的方式向所连接的智能设备传输文件
l Hopper:用于Pocket PC 2003的用户输入压力测试工具
l PPC Command Shell:用于Pocket PC 2003的命令行工具
l TypeIt:用于Smartphone 2003的辅助文字输入工具
l ……
这是微软近期推出的Windows Mobile开发工具及资料集,其中包含上述所有产品及工具,以及一系列相关的文档、教程及参考资料。
好了,对于如何搭建Windows Mobile的开发环境就介绍到这里了。可以肯定地说,随着微软公司支持力度的增加和Windows Mobile开发者社区的成熟,Windows Mobile开发将面临越来越有利的良好环境。
(from http://blog.joycode.com/musicland/articles/38275.aspx)