Pocket PC 开发入门






4.71/5 (55投票s)
Pocket PC 开发概述,包括可用开发工具和语言的信息。
引言
本站已有许多关于 Pocket PC 开发各方面的文章。本文的独特性在于,它试图在进入 Pocket PC 开发世界之前,提供关于我们想了解的事物(即操作系统、开发工具等信息)的概述。
Windows CE 历史
1996 年,微软对 Windows NT 操作系统进行了精简,并发布了一个模块化版本,适用于各种通信、娱乐和移动计算设备,如 PDA、数字互联网电话、汽车电脑等。Windows CE 不仅可以扩展到 PDA 等功能丰富的设备,还可以精简到 1 MB 以下,为数字互联网电话等紧凑型设备提供基本但相对强大的系统服务。微软提供的 Platform Builder 工具可供 OEM 使用,以配置自定义版本的 Windows CE。自 1996 年以来,Windows CE 在功能上取得了长足的进步,微软今年早些时候刚刚发布了 Windows CE 4.2。
掌上电脑
“Pocket PC”是运行 Windows CE 称为“Pocket PC 版本”的规范的 PDA。此规范包含针对 PDA 的附加外壳扩展和应用程序。同样,带有数字互联网电话功能的 PDA 运行另一种称为“Pocket PC Phone Edition”的 Windows CE 规范。微软还有一个称为 Smartphone edition 的规范,用于数字互联网电话。Pocket PC 是高端设备,至少需要 16 MB 内存。目前市场上有内存高达 128 MB 的 Pocket PC。PDA 中的所有信息都存储在内存或 RAM 中。PDA 中没有硬盘。目前最新版本是 Pocket PC 2003 版本,它是 Windows CE 4.2 的一个规范。
微软提供的开发工具
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 应从设备制造商处获取。您可以在 Windows Mobile - Developer downloads section 免费下载 eMbedded Visual Tools 3.0 - 2002 版。有关 eMbedded Visual Tools 的更多信息,请访问 Embedded Visual Tools section。Pocket PC 2003 SDK 可单独下载,请访问 Download details: Pocket PC 2003 SDK。
Embedded Visual C++ 3.0
Microsoft eMbedded Visual C++ 3.0 开发系统提供了用于 Windows Mobile 设备开发的本地代码 C++ 编译器。如果安装了正确的 SDK,它可以针对所有基于 Windows CE 2.11 和 3.0 的设备。使用 eMbedded Visual C++ 用于:
- Pocket PC 或任何其他基于 Windows Mobile 的设备的驱动程序
- 在设备上本地运行的应用程序
- 通过游戏 API (GAPI) 使用高速图形的游戏
- 处理要求高的应用程序
- COM 服务器或 Microsoft ActiveX® 控件
Embedded Visual Basic 3.0
eMbedded Visual Basic 3.0 支持使用 Visual Basic 语言的应用程序;生成的 P-code 在运行时进行解释。虽然大多数基于 Windows Mobile 的设备都内置了运行使用 eMbedded Visual Basic 构建的应用程序的功能,但某些自定义的嵌入式 Windows CE 硬件平台可能不包含 eMbedded Visual Basic 运行时。eMbedded Visual Basic 基于脚本语言,而不是功能齐全的 Visual Basic 语言。因此,Visual Basic 6.0 中用于桌面的许多语言特性在 eMbedded Visual Basic 3.0 中不受支持。例如:
- 所有变量默认均为 Variant 类型;不支持强类型
- 无法使用 eMbedded Visual Basic 开发 ActiveX 控件,但可以托管它们
- 不支持几个 Visual Basic 内建控件,并且缺少某些属性
eMbedded Visual Basic 技术正被功能更强大的 Visual Basic .NET 语言逐步取代。微软建议开发人员使用 Visual Basic .NET 创建所有新的 Pocket PC 应用程序,并使用 eMbedded Visual Basic 来维护旧应用程序。
Embedded Visual C++ 4.0
Microsoft eMbedded Visual C++ 4.0 支持针对新的 Windows CE .NET 4.2 设备进行开发。eMbedded Visual C++ 4.0 非常适合使用本地代码来定位基于 Windows CE .NET 4.2 的移动或嵌入式设备。eMbedded Visual C++ 4.0 的增强功能包括:
- 即时 (Just-In-Time) 调试,用于诊断未处理的异常
- C++ 结构化异常处理
- “附加到”进程,用于改进进程调试
- 与新模拟器更好的集成
您可以从 Developer Downloads 下载 eMbedded Visual C++ 4.0、eVC 4.0 Service Pack 2。
Visual Studio .NET 2003
Visual Studio .NET 的 Smart Device Programmability (SDP) 功能(以前称为 Smart Device Extensions (SDE))可帮助开发人员编写利用 Microsoft .NET Compact Framework 的移动应用程序,从而在连接或断开连接的场景中实现分布式移动计算。.NET Compact Framework 提供的类库非常丰富,可以比传统工具更快地编写应用程序。Visual Studio .NET 2003 使用相同的工具和技术,支持使用 C# 或 Visual Basic .NET 语言进行 Pocket PC 2002 和 Pocket PC 的开发(需安装相应的 SDK)。它安装了 .NET Compact Framework,该框架专为资源受限的设备设计。开发人员可以使用新的 C# 语言或 Visual Basic .NET 语言来定位移动和嵌入式设备。它也适用于使用 XML Web 服务或利用 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 浏览器。它生成 Wireless Markup Language (WML)、HTML 和 compact HTML (cHTML)。除了自适应网页呈现外,ASP.NET 还提供了一个丰富的自定义和可扩展性框架,提供了一种简单的方法来扩展控件,以利用市场上新出现和不同的设备。此外,ASP.NET 允许开发人员在相同的编程模型内控制特定设备或设备类的呈现,并允许开发人员轻松添加对新设备的支持,而无需重新编写其移动 Web 应用程序。
使用 ASP.NET Mobile Controls 用于:
- 支持各种支持 Web 的设备(手机、寻呼机、PDA)
- 支持不同的标记语言(WML、cHTML、HTML)
注意:ASP.NET Mobile Controls 不需要任何客户端安装。但是,目标设备必须具有客户端 Web 浏览器。
ASP.NET Mobile Internet Toolkit 可在 Download details: Mobile Internet Toolkit 下载。有关 Microsoft ASP.NET Mobile Controls 的更多信息,请参阅 Mobile Web Development with ASP.NET。
Microsoft SQL Server 2000 Windows CE Edition Version 2.0
Microsoft SQL Server 2000 Windows CE Edition (SQL Server CE) version 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 数据提供程序,通过公共语言运行时 (CLR) 管理代码,移动应用程序开发人员可以构建高度可扩展的应用程序,并具备用于断开连接场景的脱机数据管理功能。
当您需要时,将 SQL Server CE 用作开发工具的补充:
- 将企业数据管理功能扩展到 Pocket PC
- 开发在移动设备上存储和处理大量数据的应用程序
- 在连接性不稳定的环境中,需要与移动设备进行可靠的数据复制
要下载最新版本的 SQL Server CE 数据库,请访问 Download details: SQL Server CE。有关 SQL Server CE 的更多信息,请参阅 Build Better Applications with SQL Server CE 2.0。
其他开发工具
Sybase Pocket PowerBuilder
Pocket PowerBuilder 提供了一个高度高效的 4GL 集成开发环境 (IDE),用于移动应用程序开发。它为 PowerBuilder 开发人员提供了他们目前依赖的同类最佳的快速应用程序开发 (RAD) 平台,旨在简化和加速针对基于 Windows® CE 的环境的移动和无线企业应用程序的创建。Pocket PowerBuilder 的主要功能如下:
- 支持 Microsoft Pocket PC、Pocket PC 2002 和 Pocket PC 2003 设备
- 与 Sybase Adaptive Server Anywhere (ASA) 数据库进行紧密的数据库集成
- 强大且获得专利的 DataWindow 技术——复杂的 SQL、强大的数据访问和复杂的 数据呈现功能
- 允许开发人员利用他们现有的 PowerBuilder 技能集
- 应用程序迁移助手,用于迁移 PowerBuilder 应用程序,反之亦然
- 支持连接到企业数据库,包括 Sybase Adaptive Server Enterprise (ASE)、Oracle、Microsoft SQL Server 和 IBM DB2
要获取有关 Pocket PowerBuilder 的更多信息,请访问 Sybase 网站。此软件的评估版本可从 Download Details: Pocket PowerBuilder 下载。
SQL Anywhere Studio
SQL Anywhere Studio 是一个全面的软件包,提供数据管理和企业数据同步,以实现数据库驱动的应用程序在移动、嵌入式和中小型企业 (SMB) 环境中的快速开发和部署。它将企业数据、信息和应用程序的范围扩展到发生业务交易的任何地方。SQL Anywhere Studio 的 MobiLink 同步技术可在远程 Adaptive Server Anywhere 或 UltraLite 数据库与各种企业数据源(包括 Adaptive Server Anywhere、Sybase Adaptive Server Enterprise、Oracle、Microsoft SQL Server 和 IBM DB2)之间安全地进行双向信息交换。远程系统通过标准 Internet 协议连接到 MobiLink 同步服务器,该服务器与后端数据库通信。可选的 128 位强加密技术可用于确保传输过程中的数据得到完全保护。
SQL Anywhere Studio 包含 2 个强大的数据库服务器。
Adaptive Server® Anywhere
- 针对中小型企业服务器、笔记本电脑和手持设备进行了优化,并支持单用户和多用户实现
- 提供无与伦比的可靠性和功能,具有丰富的功能,包括完整的事务处理、引用完整性、SQL 和 Java 存储过程、触发器、行级锁定、自动事件调度和自动恢复
- 自我管理和自我调优,只需最少的 DBA 干预
- 包含 128 位强加密选项
- 支持广泛的操作系统,包括 Windows(32 位或 64 位)、Mac OS X、Netware、各种 UNIX 变体和 Linux(32 位或 64 位),以及流行的手持平台,如 Microsoft Windows CE 和 Palm Computing Platform,以提供最大的部署灵活性
- 支持许多标准,以实现轻松、高性能的数据访问,包括 ADO.NET、SOAP、XML、OLE DB、ODBC、JDBC™、Sybase OpenClient™ 和 Embedded SQL,以实现高性能数据访问
UltraLite™
- 为内存受限的环境(如手持设备和智能手机)提供了理想的解决方案
- 支持广泛的平台,包括 Windows CE(Pocket PC/Handheld PC)、Palm Computing Platform 和 Java
- 强数据库加密
- 广泛的编程工具支持,包括 AppForge MobileVB、Metrowerks CodeWarrior、Microsoft Visual C++、Visual Studio .NET 和 Borland JBuilder
- UltraLite Dynamic SQL 简化了 SQL 程序员创建动态数据驱动应用程序的开发
要获取有关 SQL Anywhere Studio 的更多信息,请访问 Sybase 网站。此软件的评估版本可从 Download Details: SQL Anywhere Studio 下载。
AppForge MobileVB
AppForge MobileVB 软件无缝集成到 Visual Basic 6.0 中,使您能够立即使用 Visual Basic 编程语言编写应用程序,这些应用程序将在全球超过 90% 的手持、移动和无线设备上运行。AppForge MobileVB 的主要功能如下:
- 支持多种平台上的应用程序开发,如 Palm OS(Palm、Handspring、Sony、IBM、Kyocera、HandEra、Samsung、Symbol)、Pocket PC(iPaq、Jornada、Casio、NEC、Symbol、Toshiba)、Symbian OS(Sony Ericsson、Nokia)
- 附带 30 多个标准控件,以及用于数据库同步、电话和游戏的模块和库。
- 应用程序可以在 IDE 中进行测试,并编译成单文件安装包进行分发
- 包含 UltraLite 数据库和同步开发环境(UltraLite DB with MobiLink)
要获取有关 AppForge MobileVB 的更多信息,请访问 AppForge 网站。此软件的评估版本可从 Download Details: AppForge Mobile VB 下载。
基于 Java 的开发工具
Waba
Waba 是一种类似于 Java 的编程语言,用于开发小型设备的应用程序。但是,Waba 不是 Java 的派生产品,与 Sun Microsystems(Java 品牌和相关商标的所有者)没有任何关联。Waba 编程语言的语法是 Java 语言语法的严格子集。这使得熟悉 Java 的开发人员可以快速开始使用 Waba 编程。Waba 拥有一组基础类,旨在尽可能小,同时仍然包含编写功能齐全的小型设备程序的所需功能。Waba 应用程序可以在 PalmPilot 设备、Windows CE 设备或支持 Java 的任何计算机(JDK 1.02、1.1、1.2 或 2.0)上运行。要获取有关 Waba 的更多信息,请访问 WabaSoft 网站。Waba 虚拟机可从 Download Details: Waba 免费下载。
SuperWaba
Superwaba 最初是 Waba,后来添加了新类成为 Superwaba。要了解有关 SuperWaba 的更多信息,请访问 SuperWaba 网站。SuperWaba 虚拟机可从 Download Details: SuperWaba 免费下载。
应用程序部署工具
Microsoft ActiveSync
如果您计划将 Pocket PC 应用程序部署到各种设备,那么您应该拥有此软件。此软件可免费下载。要下载最新版本的 ActiveSync,请访问 Download details: Activesync 3.7。ActiveSync 为基于 Windows CE 的设备提供以下功能:
- 备份和恢复设备数据
- 安装和卸载 Pocket PC 应用程序
ActiveSync 支持通过名为 Service Providers 的插件在桌面计算机和基于 Windows CE 的设备之间进行以下交互,这些插件运行在 ActiveSync 框架内。要获取有关 ActiveSync 的更多信息,请参阅 Pocket PC 开发环境附带的在线帮助。
测试/调试 Pocket PC 应用程序
要测试 Pocket PC 应用程序,您可以使用 Pocket PC 模拟器,它会在开发环境软件安装时自动安装并集成。但目前 Pocket PC 2003 版附带的模拟器需要单独 下载。
结论
希望本文对您开始 Pocket PC 开发有所帮助。我包含了一些关于 Pocket PC 开发的 EVB/EVC/.NET Compact framework 文章链接。期待您的宝贵 反馈。
Pocket PC 开发资源
- Microsoft Embedded Operating System Development Center
- Microsoft Mobility & Embedded Developer Center
- .NET Compact Framework QuickStart 教程
- Mobile Internet Toolkit Quickstart 教程
- opennetcf.org - .NET Compact Framework 文章/库/控件/实用程序
- developmentor - .NET Compact Framework 文章/实用程序/示例
- Pocket PC Developer Network - EVC/EVB/.NET Compact Framework 文章/库/书籍
- DEVBUZZ.COM - EVB/.NET Compact Framework 文章
- business anyplace - EVB/.NET Compact Framework 文章/示例
- Developer.com - 通用 Pocket PC 开发文章
- Codeguru CE Programming section - EVC++ 文章