2003 年 8 月
适用于:
Microsoft® eMbedded Visual Tools 3.0 - 2002 Edition
Microsoft® eMbedded Visual C++® 4.0 SP2
Microsoft® Visual Studio® .NET
Microsoft®.NET Compact Framework
Pocket PC 2002
Pocket PC 2003
Smartphone 2002
Smartphone 2003
摘要:本文主要介绍为基于 Windows Powered 和 Windows Mobile 的设备开发应用程序的工具和支持技术。文中不仅列出了各种工具支持的平台,还提供了一些开发方案以及针对各种方案选择工具和技术的指南。(本文包含一些指向英文站点的链接。)
目录
简介
移动应用程序开发工具
工具对比表
开发方案
小结
附录:移动应用程序开发工具的推荐安装顺序
自 1996 年推出 Microsoft® Windows® CE 操作系统,以及之后不久推出 Handheld PC 1.0 版产品以来,Microsoft 已经提供了很多功能强大且日益专业化的工具,帮助开发人员在基于 Windows Mobile™ 的平台上满足特定的需求并完成应用程序任务。目前,Microsoft 又推出多种工具软件包,用于在基于 Windows Mobile 的 Pocket PC 和 Smartphone 上构建应用程序。
本白皮书向开发人员介绍了 Windows Mobile 应用程序开发工具的现状以及这些工具的发展前景。它可以帮助开发人员确定哪些开发工具最适合他们的需求,各种工具应该在什么情况下使用,以及在开始移动应用程序项目之前,移动应用程序开发人员需要做哪些准备工作。本文还对比了几种工具的优点。
虽然目前移动开发工具的选择多种多样,而且还将继续增加,但 Microsoft 的最终目标是创建一个统一的开发环境以满足所有移动应用程序开发的需要,包括将移动开发工具集成到 Microsoft Visual Studio® .NET 的核心产品中。
移动应用程序开发工具以下几节概要介绍目前可在基于 Windows Mobile 的 Pocket PC 和 Smartphone 上使用的工具。阅读工具的说明时,开发人员应该将这些工具放在使用本机、托管或服务器端代码的背景下来考虑:
- 使用本机代码是为了获得较高的性能,当您需要直接访问硬件或者资源有限的情况下使用。
- 使用托管代码是为了开发以用户界面为中心的应用程序,这种应用程序要求尽快面世或者要求开发速度很快。如果想轻松地访问 Web 服务,也可以使用托管代码。
- 使用服务器端代码是为了使用一个代码集开发适用于多种设备的应用程序,这需要保证设备有足够的数据带宽。
eMbedded Visual Tools 3.0
Microsoft eMbedded Visual Tools 3.0 为构建移动应用程序提供了一个入口级的集成开发环境,包括必要的编译器、调试和平台文档。eMbedded Visual Tools 3.0 包括 Microsoft eMbedded Visual C++® 3.0 (eVC 3.0) 和 eMbedded Visual Basic® 3.0 (eVB 3.0)。这两种工具都是独立的开发环境,不需要运行任何其他开发环境,如 Microsoft Visual Studio 或 Visual Studio .NET。
要开发基于 Windows Mobile 的设备,所有工具都需要使用目标设备的平台软件开发套件(SDK)。eMbedded Visual Tools 3.0 的 2002 版包括用于目前所有 Windows Mobile 设备(包括 Pocket PC 2002 和 Smartphone 2002)的 SDK。非 Windows Mobile 系列的设备的 SDK 应该从设备的制造商处获得。
您可以从 http://www.microsoft.com/windowsmobile/resources/downloads/developer/default.mspx 免费下载 eMbedded Visual Tools 3.0 - 2002 Edition。
有关 eMbedded Visual Tools 的详细信息,请参阅 http://msdn.microsoft.com/vstudio/device/embedded/default.asp。
eMbedded Visual C++ 3.0
Microsoft eMbedded Visual C++ 3.0 开发系统为基于 Windows Mobile 的开发提供了本机代码的 C++ 编译器。如果安装了正确的 SDK,可以用它为所有基于 Windows CE 2.11 和 3.0 的设备开发应用程序。eMbedded Visual C++ 调试器通过 Microsoft ActiveSync® 使用有线、无线 LAN 或基座连接工作。
此外,它还提供了可用于 Pocket PC 2002 和 Smartphone 2002 设备的软件仿真器。在发布 Pocket PC 2002 时,Microsoft 推出了一种用于 Pocket PC 2002 SDK 的新型仿真器,它更接近于真正的基于 Windows Mobile 的设备。这种新型的仿真器可以在虚拟的 PC Shell 中运行真正的 Windows CE 二进制文件。Smartphone 2002、Pocket PC 2003 和 Smartphone 2003 的 SDK 也使用这种新型的仿真器。
eMbedded Visual C++ 可用于:
- Pocket PC 或任何其他基于 Windows Mobile 的设备的驱动程序
- 在设备上本机运行的应用程序
- 通过 Game API (GAPI) 使用高速图形的游戏
- 具有很高处理需求的应用程序
- COM 服务器或 Microsoft ActiveX® 控件
eMbedded Visual Basic 3.0
eMbedded Visual Basic 3.0 支持使用 Visual Basic 语言编写的应用程序,得到的 P 代码在运行时解释。尽管大多数基于 Windows Mobile 的设备具备内置的功能,以运行使用 eMbedded Visual Basic 构建的应用程序,但一些自定义的基于 Windows CE 的嵌入式硬件平台可能不包含 eMbedded Visual Basic 运行时。Pocket PC 的 Windows Mobile 2003 软件就不包含 Visual Basic 运行时,但可以从 Windows Mobile Developer Downloads 下载。
eMbedded Visual Basic 是一种脚本语言,而不是具备全部功能的 Visual Basic 语言。因此,Visual Basic 6.0 中为桌面系统提供的很多语言功能在 eMbedded Visual Basic 3.0 中都不受支持。例如:
- 默认情况下,所有变量均为 Variant 类型,严格类型不受支持
- 不能使用 eMbedded Visual Basic 开发 ActiveX 控件,但是可以集成
- 几个 Visual Basic 原有的控件不受支持,而且还缺少一些属性
eMbedded Visual Basic 不能用于为基于 Windows Mobile 2002 的 Smartphone 开发应用程序。鉴于此,加之其他一些原因(包括为了进一步发展壮大 Visual Basic .NET 开发团体),eMbedded Visual Basic 技术已逐渐被淘汰,取而代之的是功能更加强大的 Visual Basic .NET 语言。Microsoft 建议开发人员使用 Visual Basic .NET 创建所有新的 Pocket PC 应用程序,使用 eMbedded Visual Basic 维护早期版本的应用程序。
eMbedded Visual C++ 4.0
Microsoft eMbedded Visual C++ 4.0 支持新的基于 Windows CE. NET 4.2 设备的开发,而且安装发布的 Service Pack 之后,支持用于 Pocket PC 和 Smartphone 的 Windows Mobile™ 2003 软件(以前的代码名为“Ozone”)。eMbedded Visual C++ 4.0 是使用本机代码在 Windows CE .NET 4.2 上为移动或嵌入式设备开发应用程序的理想软件。eMbedded Visual C++ 4.0 的增强功能包括:
- 实时调试,以诊断未处理的异常
- C++ 结构化的异常处理
- “附加到”进程,以获得增强的进程调试能力
- 更好地与新型仿真器集成
您可以从 Developer Downloads 下载 eMbedded Visual C++ 4.0、eVC 4.0 Service Pack 2,以及用于 Pocket PC 的 Windows Mobile 2003 软件的 SDK。
请从 Windows Mobile 2003-based Smartphones Downloads 下载 Smartphone 2003 SDK。
Visual Studio .NET 2003 的 Smart Device Programmability 功能
Visual Studio .NET 的 Smart Device Programmability (SDP) 功能(以前称作 Smart Device Extensions [SDE])可以帮助开发人员利用 Microsoft .NET Compact Framework 编写移动应用程序,从而在连接或断开的情况下启用分布式的移动计算。使用 .NET Compact Framework 中提供的大量类库,开发人员编写应用程序的速度可以比使用传统工具快得多。
使用 Visual Studio .NET 2003,开发人员可以使用在桌面系统开发中用到的相同工具和技术来开发 Pocket PC 2002(如果具备相应的 SDK)以及 Pocket PC 和 Smartphone 2003。它将安装 .NET Compact Framework,这是专门为资源有限的设备设计的。开发人员可以使用新的 C# 语言或者 Visual Basic .NET 语言来开发移动和嵌入式设备。它还可以很好地用于使用 XML Web Service 或 ADO.NET 的应用程序。
Visual Studio .NET 2003 可用于:
- 利用 Web 服务的应用程序
- 在连接或断开的环境中都必须正常运行的应用程序
- 使用 Visual Basic .NET 或 C# 开发应用程序
- 当您希望使用相同的工具进行桌面、服务器和设备编程时
- 快速开发的移动应用程序
- 提供可靠且安全的环境的软件
- 可移植到具有不同 CPU 或各种 Windows 版本的不同设备的应用程序
有关 Visual Studio .NET 的 Smart Device Programmability 功能的详细信息,请参阅 Smart Device Programmability。
ASP.NET Mobile Controls
ASP.NET Mobile Controls(以前称作 Microsoft Mobile Internet Toolkit [MMIT]),是对 Smart Device Programmability 和 .NET Compact Framework 的补充。ASP.NET Mobile Controls 通过启用 ASP.NET 将标记发送到多种多样的移动设备中,从而扩展了 .NET Compact Framework 和 Visual Studio .NET 构建移动 Web 应用程序的功能。使用这种方法,开发人员可以利用 Visual Studio .NET 构建一个移动 Web 应用程序,这个程序可以自动调整其页面呈现方式以适应各种设备,如启用 Internet 的移动电话、寻呼机和 PDA(如 Pocket PC 等)。它还能简化开发任务,因为它已集成到 Visual Studio .NET 集成设计环境 (IDE) 中,允许开发人员通过将控件拖到移动 Web 窗体上来构建移动 Web 应用程序。
ASP.NET 不会在客户端设备上安装任何组件。相反,它会利用服务器端逻辑,以适应特定设备的 Web 浏览器的呈现方式。它可以生成无线标记语言 (WML)、HTML 和精简的 HTML (cHTML)。
除了适应性很强的 Web 页面呈现之外,ASP.NET 还为实现自定义和可扩展提供了丰富的框架,并提供了一种简单的扩展控件的方法,以使控件可以适应即将上市的各种新型设备。另外,ASP.NET 还允许开发人员在同一编程模型内控制针对特定设备或设备类别的呈现方式,允许开发人员轻松地添加对新设备的支持,而不必重新编写他们的移动 Web 应用程序。
ASP.NET Mobile Controls 可用于:
- 支持各种启用 Web 的设备(移动电话、寻呼机、PDA)
- 支持各种标记语言(WML、cHTML、HTML)
注意:ASP.NET Mobile Controls 不需要安装任何客户端。但是,目标设备必须具备客户端 Web 浏览器。
有关 Microsoft ASP.NET Mobile Controls 的详细信息,请参阅 Mobile Web Development with ASP.NET。
Microsoft SQL Server 2000 Windows CE Edition 2.0 版
Microsoft SQL Server 2000 Windows CE Edition (SQL Server CE) 2.0 版是精简的数据库,可用于迅速开发将企业数据管理能力扩展至移动设备的应用程序。SQL Server CE 是一种功能强大的工具,它支持用户熟悉的结构化查询语言 (SQL) 语法,并提供与 SQL Server 一致的开发模型和 API,从而使移动应用程序的开发更加简单易行。
SQL Server CE 引擎提供了一套基本的关系数据库功能,如优化查询处理器和对事务及各种数据类型的支持,同时它还维护保留重要系统资源的精简内存空间。远程数据访问和合并复制可以确保可靠地发送 SQL Server 数据库中的数据;既可以脱机操作,又可以在日后与服务器同步,这些优势使得 SQL Server CE 成为用于移动和无线环境的理想软件。
SQL Server CE 2.0 可以通过 Visual Studio .NET 与 .NET Compact Framework 集成,从而简化了智能设备的数据库应用程序开发。使用新的 SQL Server CE 数据提供程序通过公共语言运行库管理代码,移动应用程序开发人员可以在断开的情况下,建立具有脱机数据管理功能的高度可扩展应用程序。
在以下情况下,可以将 SQL Server CE 作为开发工具的补充:
- 将企业数据管理功能扩展至 Pocket PC
- 开发用来存储和处理移动设备上大量数据的应用程序
- 在连接状况不稳定的环境中,需要使用移动设备进行可靠的数据复制
有关 SQL Server CE 的详细信息,请参阅 Build Better Applications with SQL Server CE 2.0。
工具对比表下表概要介绍了不同工具的各种功能。
开发方案在短期内,开发基于 Windows Mobile 设备的最常用工具仍是用于 Pocket PC 2000 和 2002 的 eMbedded Visual Tools 3.0、用于 Smartphone 2002 的 eMbedded Visual C++ 3.0,以及用于 Pocket PC 和 Smartphone 2003 的 eMbedded Visual C++ 4.0。最终,Visual Studio .NET 及其提供的 Smart Device Programmability (SDP) 功能将成为所有基于 Windows Mobile 设备的开发平台。
服务器端代码还是客户端代码?
使用服务器端代码还是使用客户端代码,取决于几个条件。应用程序的方案虽然各不相同,但是这些条件能够帮助您为应用程序的用户选择最佳的解决方案。
- 用户体验:客户端应用程序普遍能够提供较好的用户体验,因为它们在设备上运行,并且独立于所有与之进行互操作的基础结构。
- 可用的带宽:这与用户体验有关。在有足够可靠带宽的环境(如无线 LAN)中运行的应用程序,如果使用服务器端代码,也可以提供良好的用户体验。
- 数据安全性:客户端应用程序必须确保设备上敏感数据的安全性。Windows Mobile 软件提供的一系列 Cryptographic Service Provider,有助于实现此目的。服务器端应用程序必须确保可以使用 SSL 等技术安全地传输数据。
- 可支持性:对客户端应用程序的更新必须下载并安装到设备上。如果开发客户端应用程序,请将这个因素考虑在内。
- 脱机功能:如果需要脱机数据访问和其他脱机功能,客户端应用程序是最佳选择。
在开发基于 Windows Mobile 的 Pocket PC 和 Smartphone 之前,您需要准备什么呢?
在开发 Pocket PC 和 Smartphone 之前,您要准备的内容取决于您要开发什么,以及要开发的设备。在大多数情况下,您需要具备集成的开发环境,以及要开发的设备的 SDK 或扩展。幸运的是,您可以在一台计算机上开发所有的基于 Windows Mobile 的设备,因为所有工具都可以在这两类设备上共存。有关我们推荐的安装顺序,请参阅附录。
目前,eMbedded Visual Tools IDE 和所需的 SDK 都是免费的,可以通过 Web 下载。
哪种工具 . . . 何时?
性能、控制或资源对我来说非常重要。例如,我要编写一个游戏、设备驱动程序或者一个 Active X 组件……
如果您打算开发运行 Windows Mobile 2003 软件的 Pocket PC 和 Smartphone,只需从 Developer Downloads 下载 eMbedded Visual C++ 4.0 Service Pack 2 和 Pocket PC 2003 SDK。您还可以使用 Smartphone 2003 SDK 为 Smartphone 开发 Windows Mobile™ 2003 软件。
要支持早期的 Pocket PC、Pocket PC 2002 和 Smartphone 2002 设备,您还需要下载 eMbedded Visual Tools 3.0 - 2002 Edition。
如果您需要维护开发 Handheld PC Professional Edition、Handheld PC 2000 或 Palm Size PC 1.2 的应用程序,可以下载 SDKs for eMbedded Visual Tools 3.0。
我要在一个安全、可靠的环境中快速开发应用程序,我可能要访问 Web 服务……
我要编写一个具有最大的代码可移植性的客户端应用程序……
我要利用自己掌握的 Visual Studio .NET 2003、Visual C#、Visual Basic.Net 或 .NET Framework 知识……
我们建议您使用 Visual Studio .NET 2003 中的 Smart Device Programmability 功能。.NET Compact Framework 是内置到基于 Windows Mobile 2003 的 Pocket PC 和 Smartphone 中的。它可以用于 Pocket PC 2002,但必须安装到设备上。
我要开发 Smartphone 2002……
您应该下载 eMbedded Visual Tools 3.0 - 2002 Edition。
如果您希望在真正的设备上测试应用程序,但是您所在的地区尚无 Smartphone,或者 Smartphone 不支持开发,您可以购买 Smartphone Developer Kit。
我要使用一个代码库开发 Pocket PC 2002 和 Pocket PC 2003……
您可以用两种方法构建您的应用程序:
- 使用 Visual Studio .NET 2003 开发 .NET Compact Framework。这样,您可以编写一个托管代码库,并让它在两种设备上运行。Pocket PC 2002 要求在设备上安装 .NET Compact Framework。
- 使用 eMbedded Visual C++ 3.0。如果您使用可靠的 API 并编写了一个运行良好的应用程序,而且使用 eMbedded Visual C++ 3.0 来编写和编译本机代码,它应该可以在 Pocket PC 2003 和 Pocket PC 2002 两种设备上运行。
我要使用一个代码库开发 Smartphone 2002 和 Smartphone 2003……
.NET Compact Framework 不能用于 Smartphone 2002。要编写一个代码库以在 Smartphone 2002 和 Smartphone 2003 上运行,您必须使用本机代码并使用 eMbedded Visual C++ 3.0 编译您的应用程序。
我要维护用 eMbedded Visual Basic 编写的应用程序……
您应该下载 eMbedded Visual Tools 3.0 - 2002 Edition,它包含 eMbedded Visual Basic 的开发环境、仿真器和 SDK。
请考虑使用 Visual Basic .NET 2003 将应用程序导出到 .NET Compact Framework。
我要为可以在瘦客户端环境中运行的各种移动设备编写应用程序。我要维护用 eMbedded Visual Basic 编写的应用程序……
您应该在 Visual Studio .NET 2003 中使用 ASP.Net Mobile Controls。有关详细信息,请参阅 Mobile Web Development with ASP.NET。
小结Microsoft 致力于在移动设备市场取得长期成功,并帮助开发人员为他们的企业用户和客户提供功能丰富、强大的移动应用程序。目前的基于 Windows Mobile 的应用程序开发语言提供了一系列令人难以置信的能力和灵活性。
随着新的移动设备不断问世,Microsoft 将继续推出更加尖端、更加统一的开发工具,帮助开发人员快速地设计和开发利用 Web 服务等技术的新的应用程序,以及利用基于 .NET 集成能力的系统。有了这些实用的工具,移动应用程序开发团体将不断为快速发展的市场提供满足市场要求的应用程序。
附录:移动应用程序开发工具的推荐安装顺序为确保在 Windows Mobile 软件的各种开发工具之间获得最大的互操作性,我们建议您按照以下顺序安装这些工具和 SDK。如果您没有或者不需要其中的某种工具,则不必专门来获取这种工具,因为这不会影响其他工具之间的互操作。
以下安装步骤要求您使用具有本机管理员权限的帐户登录到计算机。
- 在安装之前,请卸载所有现有的工具、SDK 和仿真器。
在进行此安装之前,您应卸载以下程序:- eMbedded Visual Tools 3.0
- eMbedded Visual C++ 4.0
- eMbedded Visual C++ 4.0 Service Pack 2
- Visual Studio .NET 2003
- Pocket PC 2003 SDK
- Pocket PC 2002 SDK
- Smartphone 2003 SDK
- Smartphone 2002 SDK
- Pocket PC 2000 SDK
- Standard SDK for Windows CE .Net
- Microsoft ActiveSync
- 安装 Microsoft ActiveSync 3.7
移动应用程序的所有开发工具都需要使用 ActiveSync 3.7 以进行应用程序的开发和部署。 - 安装 eMbedded Visual Tools - 2002 Edition、Pocket PC 2002 SDK 和 Smartphone 2002 SDK
为在 Pocket PC 和 Smartphone 2002 平台上开发 C++ 和 Visual Basic 应用程序,您必须安装 eMbedded Visual Tools - 2002 Edition。
注意:安装 eMbedded Visual Tools - 2002 Edition 还将启动 Pocket PC 2002 和 Smartphone 2002 SDK 的安装过程。 - 安装 eMbedded Visual C++ 4.0 和 Service Pack 2
要为 Pocket PC 2003 开发 C++ 应用程序,您必须安装 Microsoft eMbedded Visual C++ 4.0 和 Service Pack 2。注意,您可以在安装 eMbedded Visual C++ 4.0 之后立即安装 Service Pack 2。
注意:在 Windows Server 2003 上安装 eMbedded Visual C++ 4.0 Service Pack 2 时,可能会弹出一个对话框,提示有一个仿真器驱动程序尚未签名。您应该接受未签名的驱动程序并继续。 - 安装 Visual Studio .NET 2003
要使用 C# 或 Visual Basic .NET 为 Pocket PC 2002、Smartphone 2003 或 Pocket PC 2003 开发应用程序,您必须安装 Visual Studio .NET 2003。
Pocket PC 2003 设备和 Pocket PC 2003 模拟映像已经包含 .NET Compact Framework。但您必须在早期的设备上部署 .NET Compact Framework。 - 安装 Pocket PC 2003 SDK
要使用 C++、C# 或 Visual Basic .NET 为 Pocket PC 2003 开发应用程序,您必须安装 Pocket PC 2003 SDK。 - 安装 Smartphone 2003 SDK
要使用 C++、C# 或 Visual Basic .NET 为 Smartphone 2003 开发应用程序,您必须安装 Smartphone 2003 SDK。