在 Windows 8 中重新创建 iOS 应用设计

下面将介绍常见 iOS 应用设计,以及如何在 Windows 8 中重新考虑它们。

如果你考虑将现有应用从 iOS 或其他平台转移到 Windows 8,需要问自己一个根本性的问题:你要将其移植,还是要将其重写?

如果采取中间件解决方案创建你的应用(也受 Windows 8 支持),那么你的决定可能显而易见。但是,如果在 Objective-C 中从头编写你的应用,你将需要进行多一点的工作。

你的应用是否使用以 C 或 C++ 编写的库?如果这样,很有可能不做太多更改,就可以重新使用代码。例如,如果你使用 C++ 库进行一些图像处理或复杂的计算,你可以完全采用 C++ 编写 Windows 应用,并使用相同的源代码,或者使用 Windows 运行时组件形式的 C++ 库(如果你了解 Win32 Windows 编程,它类似于 DLL)。然后,可以使用 C# 或 JavaScript 编写应用的其余部分,并调用 C++ 组件中的方法。

你将其他应用转换为在 Windows 8 上运行的方法将取决于某个因素,如它们的基本设计,以及它们对本机控件的使用情况。我们将介绍一些基本的应用类型,并讨论我们如何能够重新考虑它们,使其成为 Windows 应用商店应用。

使用 OpenGL 编写的游戏或其他应用

假设你的应用不使用中间件解决方案(例如 Unity),而是包括 Objective-C 和 OpenGL(使用或不使用 GLKit),那么你将需要使用 DirectX 与 C++ 重新创建它。

DirectX 拱廊游戏

Windows 开发人员中心包含许多主题,以帮助你从 OpenGL 转移到 DirectX,包括:

不具有本地控件的二维游戏或应用

可以渲染自身的按钮和其他控件的应用(例如教育应用、杂志阅读器或更多休闲游戏)可能是最容易转换到 Windows 8 的一种应用。

二维拱廊/益智/休闲游戏

如果你的应用中的图形使用简单的二维动画,Windows 8 版本可能非常适合使用 JavaScript/HTML5 项目改编,因为 HTML5 画布控件提供类似于 UIImage 控件的二维渲染支持。或者,你可能决定使用 C# 和 XAML,并使用 XAML 对象(如图像、矩形和椭圆):请参阅开发 Reversi – 使用 C# 和 XAML 的 Windows 应用商店游戏

如果你的应用中有很多高级动画,可能需要中间件解决方案和/或 DirectX,才能获取需要的动画帧速率。

无论你使用哪种方法,请记住不要使用独特的 Windows 8 控件和功能,它们可能会让用户感觉你的应用有些陌生和普通。

具有某些本机控件的应用

以咖啡桌书本为模型的应用可能在这两个平台上具有相似外观。 iOS 版本通常会在 UIImageView 控件中显示图像,然后使用 UIToolbarUINavigationView 控件来进行导航,可能使用 UIAppearance 协议进行自定义。

iOS 咖啡书本应用

Windows 应用商店应用可以在“FlipView”中显示图像,或使用“应用程序栏”控件提供导航。“应用程序栏”提供位置来放置用于导航和其他功能的按钮,但它也可以保持隐藏状态,直到用户向上轻扫屏幕(或单击鼠标右键,或按 Windows 键和 X)。这可以为你的内容多留出一点屏幕空间。

Windows 8 应用栏

“超级按钮”是另一种新的 Windows 8 控件,当从右侧轻扫(或当鼠标移动到右下角,或用户按 Windows 键和 C)来调用它们时,将显示超级按钮。超级按钮是系统范围的菜单,你的应用可以使用它们来访问“搜索”、“设置”、“共享”和“打印”功能。

Windows 8 超级按钮

以下是一些涉及 Windows 8 控件的相关主题:

具有项列表的应用

在该设计中,项列表经常在分屏控制器中显示(通常使用 iOS 应用中的 UITableView)。较大面板用于显示一个特定项目的详细信息。

基于 iOS TableView 的应用

可以使用“ListView”控件在 Windows 应用商店应用中创建类似于 UITableView 的视图,可以使用与调整 UITableView 中单元格相似的方法来调整其样式。请参阅表格视图(从 IOS 到 Windows)

但是,Windows 8 还提供“GridView”控件,在采用横向滚动格式显示数据列表和视觉预览时,它特别有用。 “GridView”利用 Windows 设备上较宽的屏幕,此外,使用“语义式缩放”控件可以使用户迅速获取集合的“鸟瞰图”视图,并跳转到特定的选择。Windows 8.1 中引入的 Hub 控件特别适用于具有多页信息的应用(请参阅 Hub 控件 JavaScript 示例代码Hub 控件 C# 示例代码)。

使用 Grid View 的 iOSA Windows 8 应用

以下主题描述使用的各种 Windows 8 控件:

使用向下钻取导航模型的应用

许多 iOS 应用使用多个 UITableView 控件来逐步深入导航应用,使用 UINavigationController 管理堆叠的视图,并在需要时返回到主视图。

使用 UITableView 的 iOS 应用

可以使用标题菜单创建类似的分层导航系统,如 Windows 应用商店应用的导航设计所述。开始在页面之间导航后,你需要开始思考如何保持每次启动时每个视图之间的应用状态不变。请参阅第 2 部分:管理应用生命周期和状态(使用 C#/VB 和 XAML 的 Windows 应用商店应用)来获取相关方法的信息。

使用 Grid View 的 Windows 8 应用

有用的相关主题:

具有独立视图或信息面板的应用

也许你的应用具有多个独立信息页面,但不同于构成某些应用(如天气应用)的面板,这些面板没有太多共同之处,所以并不适合在全景样式的视图中横向轻扫。iOS 应用可能使用屏幕底部的工具栏或分段控件,以便用户点击和更改视图。

具有分段控件的 iOS 应用

Windows 应用商店应用可以使用“应用程序栏”来为每个视图提供链接,如果需要,使“应用程序栏”“粘滞”,它将保持可见。然而,更合适的方法可能是使用屏幕上方的“导航栏”,从屏幕顶部或底部轻扫(或单击鼠标右键,或按 Windows 键和 Z)时,它将显示。

具有单个视图的 Windows 8 应用

具有导航栏的 Windows 8 应用

另一个 Windows 8 UI 功能是“语义式缩放”,即,执行收缩手势可以缩小视图,使所有项目在列表中可见,并提供概述;然后,用户可以使用单次点击或单击来选择需要的视图。

具有垂直滚动历史记录的应用

许多 iOS 提供可以垂直滚动的视图,在顶部显示的信息比在底部的显示信息更新。例如,社交媒体应用或消息客户端。

iOS 滚动应用

Windows 应用商店应用还支持垂直滚动视图(请参阅平移指南(Windows 应用商店应用)),所以没有什么能阻止你在应用中重新创建此类样式。

这意味着,我们非常有理由探索其他方式来显示此信息:也许可以使用水平滚动的“GridView”,它使用“语义式缩放”为用户提供跳转到不同部分(例如图片、新闻、人脉和消息)的方法。

具有网格视图的 Windows 8 应用

总结

面向 Windows 8 重新创建应用往往很容易,如果应用所用的控件仅为本机控件的自定义版本,则更是如此。对于你专为应用设计的更高级的控件(旋转拨号盘、拟物化风格的旋钮和按钮),你可以在 Blend for Microsoft Visual Studio 2013 中改变 XAML 控件的外观,或者使用 HTML5 Canvas 控件上的图像创建自己的控件外观。对于非常复杂的控件,你可能需要借助由 DirectX 或中间件解决方案提供的高速渲染选项。

同样,典型的 iOS 导航模型可以在 Windows8 中复制,但新的“应用程序栏”、“导航栏”、“GridView”和“语义式缩放”控件可以提供有趣的新方式来重新考虑应用,并为用户提供更良好的“感觉”。

其他有用主题

 

 

显示:
© 2015 Microsoft