在 HTML 中建立 Windows Phone 8.1 应用程序

[原文发表地址] Building Windows Phone 8.1 Apps in HTML

[原文发表时间] 4/8/2014

上个星期在BUILD 会议上,我们宣布: 现在可以 使用 HTML、 CSS 和 JavaScript生成 Windows Phone 8.1的应用程序,以及与当今其他构建 Windows 8.1 存储应用程序相同的技术。为了帮助您构建这些应用程序,Visual Studio 2013和 Visual Studio 2013的Blend版本中,我们做了许多改进。在这篇文章中,我们强调了一小部分很酷的,并且新的改进,你可能会发现非常有用,尤其对于通用的 Windows 应用程序技术。

通用程序

使用Windows 8.1 和 Windows Phone 8.1 最新的更新,您可以为常见的 Windows 运行库,使用 XAML/ C# / C + + VB 或 HTML/JS来创建通用的 Windows 程序。实际上,这意味着您可以在Windows 8.1 Store 和Windows Phone 8.1 应用程序之间,共享大多数或所有您的代码和资源。为了使此共享更加方便,在Visual Studio 2013 更新 2 RC中,我们添加了新的项目类型,称为通用的应用程序。通用应用程序提供一种改进的项目结构,使您在平台间更轻松地共享,同时区分您特定平台的 HTML、 CSS 和 JavaScript资源。

我们提供三个通用的应用程序项目模板,以便您入门。

空的应用程序仅包括基本要素,让你添加自己的资源和代码。集线器/数据透视表应用程序提供一个好例子,不同的容器控件中显示的相似内容。导航应用程序开始您需要的基础架构,它是单个页面的应用程序 (SPA)。你可以在MSDN了解更多有关这类项目的信息.

关于通用应用程序,您首先将会注意到的是他们的项目结构:

您将看到三个项目节点: 一个用于Windows Store、 Windows Phone 和Shared。特定于 Windows Store的代码和内容将驻留在您的 Windows Store项目中。同样,特定于 Windows Phone 的代码和内容将驻留在您的 Windows Phone 项目中。您的Shared项目将包含所有的代码和内容,目的是在您的Store和Phone项目之间共享。

一旦创建了您的项目,你可能要侧重于为每个平台建设您的应用程序。上下文切换器,位于共享文件顶部的的导航栏中,允许你切换到你目前专注的平台,确保最好的编程体验,包括你当前平台的API的智能感知:

例如,如果您切换到 Windows 8.1 的编码,Visual Studio 不会显示你只适用于 Windows Phone 8.1 的 API。当你目标平台的 API不存在于时,Visual Studio将会为你标记出来:

关于Context Switcher的其他伟大提示,你可以在following Build session.了解更多。

设备面板

混合的设备面板使您可以以不同的方向、 分辨率和尺寸来预览您的应用程序,而不需要您将其部署到多个设备。设备面板现在支持Phone应用程序。你会在显示的可用列表集中,看到适用于Phone的设备配置集的系列更新。此外,还有 Windows Phone 主题和颜色配置。

调试和诊断程序

所有 Windows Store 的应用程序的调试和诊断功能也可用于 Windows Phone 开发:

对于移动设备尤其重要的一个领域是应用程序的性能。为了帮助改善这个, UI 响应性工具内存分析器可以帮助诊断性能问题。UI 响应工具可以清晰地显示您应用程序所花时间的图表,呈现您的应用程序的视觉效果。内存分析器使您能够看到哪里分配,释放内存,并随着时间的推移进行分配,释放内存。

Manifest Designer

定义您的应用程序的外观和感觉的一个重要部分是确保可视的资产,如商标和初始屏幕,区分您的应用程序。The manifest designer在您的应用程序内便于提供 Windows Phone资产。如果你要创建一个通用的项目,manifest designer使您能够指定您的 Windows Phone 和 Windows Store 的应用程序的可视化资产。

从哪里得到它

要开始构建支持 Windows Store 和 Windows Phone 与 HTML 中使用通用项目的应用程序,请安装Visual Studio 2013 更新 2 RC。如果你还没有 Visual Studio 2013,你可以免费下载 Visual Studio Express 2013 for Windows with Update 2

如果您有任何疑问或意见,请在论坛上随时跟帖评论或发帖!

Cheers,

Jordan & Kirupa