信息
您所需的主题如下所示。但此主题未包含在此库中。

最大化 Windows Phone 8 和 Windows 8 之间的代码重用

2014/6/18

适用于: Windows Phone 8 和 Windows Phone Silverlight 8.1 | Windows 8

在本节中,我们将帮助您做出正确的选择,以便在您的应用中最大程度地重用代码。作为开发人员,您希望简化开发,并且尽可能有效率地维护应用。通过更加智能的工作方式,您可以让自己拥有更多的时间,开发更多的应用,用您的创造成果丰富市场。 为 Windows Phone 8 和 Windows 8 构建应用时,您应寻找机会尽可能地共享代码、设计和资产,以便使您的投资回报最大化。本节介绍在为这两种平台构建应用时,您可以使用的共享技术。

下表显示一些可用于在 Windows Phone 8 和 Windows 8 应用之间共享代码的技术。在它们所链接到的主题中,每一个都有详细说明。该表指出某技术是否适用于托管代码、C# 或 VB,或本机 (C++) 代码。您可以选择其中任一技术,或者其中相关技术的组合。

共享技术

何时使用

使用模型视图查看模型模式来分离 UI 和应用逻辑

本指南适用于多种应用类型,尤其是具有 XAML UI 的应用。分离允许您分别编写应用逻辑和专注于用户体验设计。另外一个好处在于,您的应用逻辑更可能通用于这两种平台上的您的应用,因此是使用此处所介绍的其他技术进行代码共享的良好候选项。模型视图查看模型 (MVVM) 是实现此分离的不错方式。

使用可移植类库共享功能

Windows Phone 8 和 Windows 8 共享相同的 .NET Framework 引擎。在 XAML 应用中,将用托管代码编写大部分的应用逻辑。如果您使用 MVVM 设计模式,您有可能共享查看模型和您的模型。请注意,可移植类库是 .NET Framework 概念,不支持 C++。

使用“添加为链接”共享代码

针对不可移植的代码使用该技术,因此无法在可移植类库中实现该技术。例如,Windows Phone 8 和 Windows 8 可以使用通用 Windows 运行时 API 图面来利用各平台的功能来实现网络连接、近场感应、应用内购买和许多其他功能。可移植类库不支持 Windows 运行时 API。或者,您可以将该不可移植代码(通用于这两种平台)提取进可以在 Visual Studio 中使用“添加为链接”来共享的类中。在 C++ 项目中,默认以链接文件形式将文件添加至项目。

使用 Windows 运行时组件进行共享

除了使用两种平台上可用的通用 Windows 运行时 API,您也可以编写您自己的 Windows 运行时组件,使您的功能在所有受支持的语言中都可用。这可以用 C++ 编写,通过 C# 或 VB 使用。对于语言互操作性而言,或者当您想用 C++ 编写计算密集型代码并在所有语言中使用该代码时,这是非常有用的技术。

共享 XAML UI

Windows Phone 8 和 Windows 8 中的 UI 用 XAML 编写而成。但是,XAML 实现在这两个平台之间不可移植。不过您可以隔离一些您的自定义基础 UI 构造块,把它们放入 UserControl,并且以链接文件形式共享将为各平台编译的类。该技术具有限制性,应只对您的 UI 的简单可重用部分使用。应分别根据各平台来构建和定制您的 UI 的核心。

使用预处理器指令进行条件编译

如果您具有为 Windows Phone 8 和 Windows 8 有区别地实现的功能,您可以使用条件编译相应地为各平台编译代码。您无法再可移植类库中使用条件编译。您采用该技术的程度取决于您的应用复杂性,但是如果过度使用,则可能会增加代码维护的难度。

显示: