为Windows 8和Windows Phone 8构建应用程序

Windows 8 和 Windows Phone 8 趋于融合。与此同时,有志于为这两个平台构建应用程序的开发人 员必须了解两者之间重要的相似之处和不同之处。了解 Windows 8 和 Windows Phone 运行时 API 当前 的共有功能使您非常有机会同时为这两个平台交付应用程序,并利用大量同样的知识、工具、代码和资 产。在本文中,我将探讨这些区别和共性,以帮助您在开始构建同时面向这两个平台的解决方案之前了 解能做到和做不到的事情。

UX 中的一致性(磁贴、形式丰富的触摸界面、应用栏和导航的用法)简化了为这两个平台设计和实 现应用程序的过程。而采用同一个 API 外围应用可简化许多方案下的代码共享。可选择适合应用程序的 技术: 对这两个平台使用 C#、Visual Basic、C++ 或混用这几种技术。aka.ms/sharecode 上的资 源包含有关创建在 Windows Phone 8 和 Windows 8 中运行的应用程序的大量信息,以及为了在为两者 构建应用时最大限度地重复利用代码的现有代码共享方法。

具体各方面的比较

为了有效地为这两个平台编写代码,需要了解功能上的重要区别,以及大体上类似但 API 和实现有 所不同的功能。对于这些功能,不应尝试进行代码重用。我将详细介绍三个重要的关注方面:

UX

数据模型和支持代码

特定于平台的功能

UX

在设计跨平台应用程序的 UI 时,外观尺寸是一个重要的考虑因素。需要考虑屏幕分辨率、屏幕大小 和设备默认方向等特性。必须谨慎决定 UI 以确保用户体验在特定设备的约束下得到优化。

您很快就会意识到,在 Windows Phone 8 应用程序中加入 Windows 应用商店应用的所有功能并不合 理,因此必须为每个平台设计其自身的 UX。图 1 举例介绍为了构建尽可能最佳的体 验所必须考虑的各种 UX 区别。

图 1:Windows Phone 8 与 Windows 8 UX 功能比较

XAML 命名空间 :虽然 Windows 8 和 Windows Phone 8 都使用 XAML 进行 UI 设计,但不应跨应用程序重用 XAML。这两个平台的区别巨大:页面布局和方向、XAML 命名空间和 XAML 控件,使得重用这一点变得非 常困难。

虽然许多控件在两个平台中都存在,但这些控件所在的命名空间不同。例如,可在 Windows.UIXaml.Controls、Microsoft.Phone.Controls 和 Microsoft.Phone.Shell 中找到 Windows Phone 的 Windows 8 等效控件,而 System.Windows.Controls 包含 Windows 8 控件和一些共享控件。 幸运的是,XAML 编辑器将在您尝试添加不支持的控件时警告您。但是,XAML 不支持条件编译,因此无 法轻松地在运行时为一个平台或另一个平台加入命名空间。

XAML 控件:每个控件库均为其对应的平台进行了优化。因此,强烈建议分别为每 个平台自行设计用户控件。这样将帮助在每个平台上保持一致的 UX,同时降低因出错而迁移 XAML 的可 能性。图 2 显示一些基本控件。

图 2:Windows Phone 8 和 Windows 8 基本控件

时间: 2024-07-28 15:18:06

为Windows 8和Windows Phone 8构建应用程序的相关文章

快速构建Windows 8风格应用24-App Bar构建

原文:快速构建Windows 8风格应用24-App Bar构建 本篇博文主要介绍构建AppBar基本步骤.如何构建AppBar.如何在AppBar中构建上下文命令.如何在AppBar中构建菜单.如何构建页面间共享AppBar. 构建应用栏的目的的显示导航.命令和始终隐藏不需要的使用的工具.我们可以把应用栏放在页面顶部或底部或同时存在顶部和底部. 默认情况在AppBar是隐藏的,当用户单击右键.按下Win+Z.或从屏幕的顶部或底部边缘轻松时可显示或关闭AppBar.当然我们也可以通过编程的方式将

借助 C++ 进行 Windows 开发:Windows 运行时的呈现

我的上一个专栏中讨论了 Windows 运行时 (WinRT) 应用程序模型 (msdn.microsoft.com/magazine/dn342867). 我演示了如何通过标准 C++ 和经典 COM 来编写 Windows 应用商店或 Windows Phone 应用程序,其中仅使用了一些 WinRT API 函数. 毫无疑问,您 不必使用 C++/CX 或 C# 这样的语言投射. 能够绕过这些抽象概念是一种强大的功能,同时也是一种 了解这项技术工作方式的很好的方法. 我在 2013 年 5

如何使用windows 7加入windows server 2008的域

今天在虚拟机中测试如何使用windows 7加入windows server 2008的域实验. 首先让windows server 2008去创建AD,成为域中的DC. 使用dcpromo进行创建DC过程: 在Win7客户机上配置IP地址,DNS指向DC的地址:

Windows Vista与Windows 7的任务栏像素尺寸对比

Windows 7最吸引人的新特性之一就是超级任务栏"SuperBar",不过功能强大的同时占用的屏幕面积也似乎大了一些,对于小尺寸显示器用户来说,可用空间会稍微更紧张一些.接下来我们就具体对比意义下Windows Vista和Windows 7任务栏的像素尺寸,其中Windows 7还有小图标和大图标两种模式.两个系统下都在快速启动栏设置IE和记事本两个图标,同时开启Firefox和计算器两个程序且在任务栏按钮上启用标题. 在Vista下,开始按钮.快速启动栏和程序按钮的横向尺寸分别

解决Windows Vista、Windows 2008驱动兼容问题

微软每次升级操作系统,都会带来新的兼容性问题. 当然,这不能怪微软,技术总是在进步,硬件水平和软件设计水平都在发展,不能固步于陈旧的规则. 就好像,很多评论家建议用户不升级到Vista,升级到Windows Seven一样,非常非常的愚蠢.评论家们到时候又会发现Windows Seven 同样产生了新的兼容性问题和更强的硬件需求. 废话不说,进入主题,这是网友MING遇到的问题和解决方法, 新一代的Windows Vista.Windows Server 2008系统对老的显卡(如ati rad

如何在Windows NT、Windows 2000和Windows XP中使用VDMDBG函数

摘要 即使是在 32位环境中编写程序,也经常碰到处理 16位应用程序的情况.在 Windows NT 中,16位程序是运行在虚拟 DOS 机(VDM)中的.VDMDBG.dll 包含许多处理16位程序的有用函数,这个库是 Platform SDK 的一部分. VDMDBG 中的函数提供了很好的方式在 VDM 中枚举.创建和终止 16位进程(任务).本文将描述如何在Windows NT.Windows 2000 和 Windows XP 中使用这些函数. 如果需要使用 VDMDBG 函数,你的工程

使用Windows 7管理Windows 2008 R2

发现了一个比较好玩的东东,分享一下.使用windows 7 管理windows Server 2008 R2.windows2008 的部分角色,甚至Windows 2008 Server Core.安装这个工具Remote Server Administration Tools (RSAT) for Windows 7.就可以通过Win7 管理2008的角色了,比如AD.DHCP.NDS.Hyper-V等 一:安装RSAT,去下面的链接下载,安装 [url]http://www.microso

你知道吗?Windows 7的XP模式有阻隔恶意程序功能

Windows 7的XP模式在运行Office 2003(虚拟机)和Office 2007(本地运行)的时候是非常安全的,能够破坏恶意软件的运行和中断许多黑客的工具.这实际上是一个意外的好处,不过,这个好处肯定是受欢迎的.没有任何计算机系统是完全安全的.甚至最安全的系统中也存在不安全的问题,如操作系统代码中的安全漏洞等等.这就是说,Windows 7比它以前的Windows操作系统更安全. 你也许没有听说过当一个安全漏洞曝光的时候,Windows 7像OS X操作系统一样要进行认真的审查.微软最

Windows 7与Windows Server 2008双系统错误

目前,笔者主要用笔记本电脑来处理日常事务,以及向客户进行演示.笔者在以多启动模式运行的外部eSATA驱动中安装了Windows Server 2008. 相信该外部驱动在Windows 7 RTM的安装过程中,一直与内部保持连接,以便安装指导可以检测到多启动模式的配置需求,从而能够自动进行配置,而对这一过程我们也不会加以干预. 这一操作所引发的结果十分有趣.安装的部分运行正常;在安装完Office 2007和Live Services之后,只剩下少量程序没有安装以及少量设备没有配置,此时笔者开始