如何将Windows Phone应用移植到Windows 8平台

2015-09-30 14:31:39来源:作者:人点击

【51CTO译文】相对而言,使用 C++、C# 或 Visual Basic将 Microsoft Silverlight 应用从 Windows Phone 移植至 Metro风格应用是非常容易的。大部分的工作内容,所需的知识以及体验,将转向使用 XAML 的 Metro风格应用的模型,许多 XAML 界面设计与布局也是如此。

应用移植工作主要包含两部分:

◆修改 UI,利用Windows Metro 风格 UI 的功能与设计指南;

◆从代码隐藏文件中调用的Silverlight API 转向相应的 Windows Runtime API。

很多情况下,代码保持不变,或几乎不变。虽然存在一些差别,但 Windows Runtime 中基于 XAML 的 UP API 是在 Windows Phone 版本的 Silverlight 上进行建模。另外,可使用 Metro 风格的 .NET API,这是完整的 .NET Framework 的子集,与.NET Framework for Silverlight 类似。在某些情况下,类似的.NET API已转移到Windows Runtime,只是设计有稍许不同。

成功移植应用所需的工作量主要取决于:应用是否使用了大量 API,而这些 API 并未包含在 Metro 风格应用的 Windows Runtime 和 .NET API。本文提供了一些常规的移植指南与资源,用于定位 API 并确定多少代码必须进行替换。

本文主要关注的是 Windows Phone 应用的移植,不过,对于任何 .NET 和基于XAML 的项目,可在以下主题中找到有用的相关信息:

将Silverlight 或 WPF XAML/代码移植到Metro风格应用

Metro风格应用.NET概述

Windows Phone 7应用移植准备工作

在进行 Windows Phone 7 应用移植之前,请考虑以下相关事项:

◆是否需要对应用进行快速移植或获得更佳的可维护性?“提高可维护性”部分提供了一些技巧,可用于对项目进行单源处理,并且有助于针对不同平台的项目间代码再利用。

◆Windows Phone 7 设备分辨率在水平模式在为水平模式下为800x480 (WVGA),垂直模式下为480x800。Windows 8 Release Preview 设备可具有多种长宽比,多种可能的水平与垂直分辨率。界面与资产如何进行扩展?相关信息。

◆Windows Phone 7 界面为触摸式的。Windows 8 界面也应支持触摸,同时还需支持其他输入方式,如鼠标和键盘。对于某些未使用触摸的用户,你的界面是否感觉很笨拙?无论何种输入方式,如何保持应用的可用性?相关信息,请参阅“可访问性计划”。

◆Windows Phone 7 应用中是否具有手机专业的功能?想法了解Windows Runtime 中相对应的网络技术?如果对手机或提供商提供更多功能支持,那么可能需对其进行重新开发,提供更多的网络或提供商独立性。

◆游戏应用是否依赖用于图形渲染的 Microsoft XNA 组件?如果是,对于 Windows 8 应用无法使用 XNA。另外,对于托管代码,无法有效地使用 DirectX;如果未使用第三发托管 API,那么必须使用 C++ 进行 DirectX 游戏开发。有关更多信息,请参阅“创建DirectX游戏”。

常规移植过程

如果为了优化上市时间,需快速移植应用,请遵循以下步骤:

1.打开 Microsoft Visual Studio Express 2012 RC for Windows 8,使用C++、C# 或 Visual Basic 新建 Metro 风格应用。选择应用布局与功能最为匹配的项目模板。有关更多信息,请参阅“使用模板(C++、C#、Visual Basic)快速创建 Metro 风格应用”。

2.复制想要在新项目中再利用的文件夹、代码与资产文件。

3.在 Visual Studio 的“解决方案浏览器”(Solution Explorer),单击“显示所有文件”(Show All Files)。

4.选择已复制的文件与文件夹,然后右键单击并选择“包含在项目中”(Include In Project)。

5.执行全局搜索与替换,将“System.Windows”替换为“Windows.UI.Xaml”。

6.将原始 XAML 代码中可重用部分复制到新项目的 XAML 文件,或新建的 XAML 文件(如需要)。通常,页面布局根(典型的示例:Grid 元素)可进行复制并重用,而最外层元素(如 PhoneApplicationPage 元素)并非如此。

7.构建项目,生成错误,然后这些错误找到需进行更新或替换的代码。有时,所需的这种更新非常少,只是对参数类型进行更改。但有些更新需要使用 Metro style 所用的 Windows Runtime API 替代 .NET API。为了确认支持哪些 API,可使用本文与“Metro 风格应用 .NET 概述”以及“将 Silverlight 或 WPF XAML/代码移植到 Metro 风格应用”,获取相关指南。

8.对于任何无法轻易进行更新的代码,请进行评注或清除,直到项目构建。

9.一次对评注代码的一个问题进行更新或替换,直到移植完成。

最新文章

123

最新摄影

微信扫一扫

第七城市微信公众平台