一、概述
Windows Phone 应用程序平台 提供了两个用于开发应用程序的框架:
-
用于开发基于 XAML 的事件驱动应用程序的 Silverlight 框架,该框架允许开发人员开发基于标记的创新用户体验和丰富媒体应用程序。
-
用于开发基于循环的游戏的 XNA Framework,该框架能够创建引人入胜的有趣游戏和娱乐体验。
通过 Windows Phone 7.5,您现在可以将 Silverlight 和 XNA Framework 组合到一个应用程序中。
Windows Phone 应用程序平台 通过提供以下各项来帮助开发人员创建应用程序:
-
一个为人熟知且价格低廉的工具集。
-
一个紧密组合且精心设计的托管 API 集。
-
一个适用于每个应用程序的隔离沙盒。
-
设备上可用于访问云中 Web 服务(例如 Xbox LIVE®、Windows Azure、定位和通知服务)的运行时服务。还支持访问 Web 中的第三方 Windows Communication Foundation (WCF) 和具象状态传输 (REST) 服务。
-
用于分发其应用程序的 Windows Phone 商城。
与大多数平台一样,Windows Phone 应用程序平台 以后会不断进行改进,但其目标始终是提供:
-
针对高标准化平台开发的更丰富的应用程序。
-
对多个设备之间的个人和连接用户数据的支持。
-
用于完整的端到端生命周期管理的强大开发人员门户和应用程序商城。
-
功能强大且高效的开发工具。
Windows Phone 应用程序平台旨在为用户所生活的多屏幕世界提供支持。
如今,用户使用着各种屏幕和设备,所有这些屏幕和设备都同样重要,它们通过云捆绑在一起;云将相关信息连接起来,当用户从一个设备转而使用另一个设备时,可以为他们提供所需的信息。常见的用户体验方便用户在设备之间转换,常见的开发平台方便为所有设备类型开发应用程序。
二、 体系结构
Windows Phone 应用程序平台 体系结构由四个主要的组件组成。
-
运行时 - Silverlight 和 XNA Framework 以及特定于 Windows Phone 的功能组合到一起,共同提供一个成熟的环境,在该环境中可以构建安全且图形丰富的应用程序。使用 Silverlight 和 XNA Framework,所有开发工作都在受保护沙盒的托管代码中完成,从而允许快速开发安全的应用程序。现在,针对 Silverlight 或 XNA Framework 编写的应用程序只需进行少量调整(例如调整屏幕大小或特定于设备的功能),即可在 Windows Phone 上运行。这两个框架以及特定于 Windows Phone 的组件和公共基类库为开发人员提供了大量组件来构建应用程序。
- Silverlight - Silverlight 是创建丰富 Internet 应用程序式用户界面的理想框架。Windows Phone Silverlight 应用程序通过一组页面显示其 UI。与 Windows Phone 可视样式匹配的 Windows Phone 控件可用于增强 UI 的外观。
- XNA Framework - XNA Framework 由软件、服务和资源组成,主要用于帮助游戏开发人员在 Microsoft 游戏平台上成功开发应用程序。Microsoft 提供的技术允许专业开发人员在各种平台(如 Windows Phone、Xbox 360、Zune HD 和 Windows 7)上快速启用游戏。XNA Framework 提供了一组完整的托管 API 用于游戏开发。这包括支持旋转、缩放、拉伸和筛选的基于 sprite 的 2D API,以及适用于 3D 几何图形、纹理、标准照明和着色的 3D 图形 API。
- 传感器 - 各种传感器将返回可供开发人员使用的数据。例如,多点触控输入、加速度计、罗盘、陀螺仪和麦克风传感器均可由 API 访问。
- 媒体 - Silverlight 和 XNA Framework 都为开发人员提供了编程模型,用于构建包含图形、动画和媒体的丰富用户体验。托管 API 支持多种媒体格式并允许在设备上发现和枚举媒体以及播放该媒体。
- 数据 - 独立存储允许应用程序在沙盒隔离的虚拟文件夹中创建并维护数据。所有 I/O 操作仅限于独立存储,并且不能直接访问基础操作系统文件系统。这可以阻止其他应用程序进行未经授权的访问和数据损坏。结构化数据可以存储在关系数据库中,并且可以使用 LINQ to SQL 进行访问。
- 定位 - 使用 Windows Phone 的 Microsoft 定位服务,应用程序开发人员可以从单个 API 访问用户的物理位置信息。开发人员可以查询当前位置、订阅位置更改事件、设置所需的数据精确度、访问设备航向和速度并计算各点之间的距离。手机上的定位 API 将与定位云服务协同使用。
-
工具 - Visual Studio 和 Expression Blend 及其相关的工具和文档为开发人员快速创建、调试、部署和更新应用程序创建了完整的体验。
- Visual Studio 2010 - Visual Studio 是用于构建 Windows Phone 应用程序的 IDE。在 Visual Studio IDE 中,开发人员可以创建在 Windows Phone 上运行的 Silverlight 或 XNA Framework 程序。
- Expression Blend - 正如设计者使用 Expression Blend 为计算机版浏览器设计丰富 Internet 应用程序一样,他们也可以设计 Windows Phone 上使用的基于 Silverlight 的独具创新应用程序。Expression Blend for Windows Phone 允许设计者为 Windows Phone 应用程序创建基于 XAML 的界面,然后由开发人员在 Visual Studio 中实现它们的行为。
- Windows Phone 模拟器 - Windows Phone 模拟器集成在 Visual Studio 和 Expression Blend 中,使得应用程序的测试和调试更加简单、高效。该模拟器完全支持应用程序部署、调试和应用程序执行。它包括对 GPU 仿真和方向更改的支持。
- XNA Game Studio - XNA Game Studio 是一个集成设计环境,开发人员可以使用该环境为 Microsoft Windows®、Microsoft Xbox 360® 视频游戏和娱乐系统、Microsoft Zune® 以及 Windows Phone 构建有趣、好玩的游戏。XNA Game Studio 扩展了 Visual Studio 工具的功能,它支持 XNA Framework。XNA Framework 是一个托管代码类库,其中包含一些专门针对游戏开发任务的功能。此外,XNA Game Studio 还包含一些用于将图形和音频内容组合到游戏中的工具。
- 示例、文档、手册和社区 - 提供的文档、操作说明手册、示例代码和示例应用程序可以帮助开发人员加快 Windows Phone 开发。开发人员可以使用论坛、博客和网站咨询问题并在大型 Windows Phone 社区中共享信息。
-
云服务 - 虽然 Windows Phone 已经具有强大和丰富的功能,但是云可使其更加强大。云服务始终处于开启状态,更具可扩展性,可包含更多功能,并且不依赖电池寿命。使用 Windows Azure、Xbox LIVE 服务、通知服务和定位服务以及其他各种 Web 服务,开发人员可以在云中共享数据,并通过在用户使用的设备(无论他们使用的是什么设备)之间提供无缝体验来让用户受益。此外,还完全支持与第三方 Web 服务的连接。
- 通知 - 为了启用高效、动态且最新的信息和通信通道,Windows Phone 应用程序平台 提供了一个 API,以使服务在发生相关事件时能够通知用户。这样便无需轮询并且降低了电池消耗。
- 定位云服务 - 定位云服务将与手机上的定位 API 协同工作,以使开发人员意识到它的存在。该服务将使用 Wi-Fi、手机网络和 GPS 数据来提供单个源以便进行位置查找。辅助 GPS (AGPS) 可用于改进 GPS 的修复。
- 身份标识、源、社交和地图服务 - 云中的各种 Web 服务允许用户标识自己的身份、与社区进行交互、接收数据源,以及使用地图进行导航。通过提供使用这些服务的新应用程序,开发人员可以丰富这一体验。
- Windows Azure - Visual Studio 2010 提供了使用 Windows Azure™ 平台(一个在 Microsoft 数据中心托管的 Internet 规模的云计算和服务平台)创建应用程序的开发环境。Windows Azure 平台提供了一系列用于构建从用户 Web 到企业方案等应用程序的功能,并且还包含一个云操作系统和一组开发人员服务。通过支持行业标准以及具象状态传输 (REST) 和简单对象访问协议 (SOAP) 等 Web 协议实现的完全互操作性,您可以单个或组合使用 Azure 服务来构建新应用程序或扩展现有应用程序。
-
Microsoft Advertising SDK for Windows Phone - 您可以通过从 Microsoft Advertising 中添加广告来出售您的 Windows Phone 应用程序和游戏。Microsoft Advertising SDK for Windows Phone 可为您提供以下功能来创建应用程序:
-
在您的应用程序和游戏中轻松加入文字和横幅广告。
-
通过实时解锁多种销售渠道竞争的能力购买广告库存,提供一个可最大限度地提高应用内广告收入的货币化解决方案。
-
提供各种广告定位功能,为用户提供最相关的广告。
-
无缝地处理印象报告。
-
-
门户服务 - Windows Phone 商城 提供了一些可靠的服务,开发人员可以通过这些服务注册、认证并销售他们的应用程序。
- 注册和验证 - 开发人员在注册其 Live ID 后便可在应用中心开始操作。完成注册之后,开发人员可以通过一次下载获取所有需要的工具。
-
认证、发布和更新管理 - 提供的一组工具将帮助开发人员向 Windows Phone 商城 提交其应用程序并进行认证。应用程序以 .xap 文件格式提交,该格式实质上是一种压缩文件,其中包含应用程序所需的全部文件。认证完成后,开发人员可以跟踪其提交状态,然后接收通知。在应用程序通过认证之后,可以提交该应用程序以便在 Windows Phone 商城 上发布。开发人员可以设置定价并选择要在哪些市场发布应用程序。
如果开发人员需要修复错误、添加新功能或提供全新的应用程序版本,则他们必须再次完成认证和发布过程。
- Windows Phone 商城 和结算 - Windows Phone 商城 为开发人员提供了一个可向用户销售其应用程序的场所。移动运营商结算和信用卡结算均受支持,从而尽可能方便了用户支付应用程序费用。
- 商业智能 - 商业智能工具将为开发人员提供有关其应用程序的报告信息。
三、Windows Phone 应用程序开发生命周期
- 从应用中心开始操作: 应用中心将是开发人员的操作起点。开发人员在注册 Windows Live ID 后便可注册以获取 Windows Phone SDK 和相关许可材料,以便使用 Visual Studio 和 Expression Blend 开发应用程序。这将只需一次下载,其中包含了开发人员构建 Windows Phone 应用程序所需的全部工具。开发人员还可以注册一个或多个手机,以便在验证他们所构建的应用程序时用作测试硬件。任何零售 Windows Phone 都可以注册为一个测试设备。
- 设计应用程序和生产应用程序包(.xap包):一旦开发人员注册成为 Windows Phone 开发人员并且安装了开发人员工具,他们便可以开始开发应用程序。Visual Studio IDE 用于编写托管代码,以便定义所有 Windows Phone 应用程序的可视行为。当应用程序完成后,会创建一个程序包(.xap),其中包含该应用程序所需的全部信息。
- 调试应用程序:创建 Windows Phone 应用程序时,开发人员可以在手机上或 Windows Phone 模拟器中调试程序。调试应用程序涉及创建适用于调试平台的程序包,然后使用 Visual Studio 部署该程序包。调用堆栈遍历、表达式计算、源代码步进和变量监视窗口均受支持。
- 发布应用程序:在完成应用程序之后,开发人员可以让 Windows Phone 商城 中的其他用户使用该程序。若要发布到 Windows Phone 商城,开发人员必须提交一个 .xap 文件。.xap 文件是一个压缩文件,其中包含该应用程序所需的全部信息。这包括应用程序图标、开始磁贴、元数据,以及用于确定程序如何使用的许可条款。接下来,开发人员登录到应用中心并提交应用程序包进行认证。这是让应用程序可供用户使用的唯一方式。认证过程将验证应用程序行为良好、可用于指定的语言和市场,并且不会对手机的整体运行情况产生不利影响。一旦程序包满足 Windows Phone 商城 认证要求,开发人员就会收到通知并且可以通过应用中心将应用程序发布到 Windows Phone 商城。然后,用户便可以在 Windows Phone 商城 中下载应用程序。信用卡结算和移动运营商结算操作均受支持。
- 管理发布的应用程序:在将 Windows Phone 应用程序发布到 Windows Phone 商城 之后,开发人员可以使用应用中心管理可供购买的应用程序版本。
本文摘自:http://msdn.microsoft.com/zh-cn/library/ff402531(VS.92).aspx