完成您的 Metro 应用自查
为了提高您的应用通过率,建议您在开发应用的过程中按照下面的应用自查项进行对照检查,并在进入Metro应用实验室前,完成应用自查Survey,以保证微软PFE工程师可以提前了解您的应用开发状况,更好的为您提供Metro应用的评估建议与指导。>> 点击了解如何完成应用自查Survey
场景 |
对您所开发的应用有一个清晰的认知;确保应用可以实现您的想法 优秀的应用程序都经过了慎密的计划。它专注于完成应用程序的使命所需的任务和功能。因为这是一次应用程序审核,所以我们希望确保您拥有周详的计划,并了解您应用程序的优势与特点是什么。 参考资料(HTML) https://msdn.microsoft.com/zh-cn/library/windows/apps/hh465427.aspx 参考资料(XAML) https://msdn.microsoft.com/zh-cn/library/windows/apps/hh465427.aspx 返回顶部 |
用户体验- UX Polish |
遵循Metro风格原则 Metro 风格的设计有 5 个指导原则,可帮助您在设计应用程序时做出最佳选择。这些原则是构建优秀的 Metro 应用程序的基础。请始终确保您的设计和开发选择符合这些原则。 参考资料(HTML) https://msdn.microsoft.com/library/windows/apps/hh781237 参考资料(XAML) https://msdn.microsoft.com/library/windows/apps/hh781237
|
传达品牌和用途。 Metro 设计强调内容重于形式,强调条理清晰和事半功倍。遵守这些原则将使您与其他应用程序保持一致,但您不应忽视品牌;设计 Metro 应用程序可完成推广您的品牌的目的。 参考资料(HTML) https://msdn.microsoft.com/zh-cn/library/windows/apps/hh465418.aspx 参考资料(XAML) https://msdn.microsoft.com/zh-cn/library/windows/apps/hh465418.aspx
|
采用一致的布局和对齐方式 许多 Metro 设计原则(比如内容重于形式、以精湛的技艺为豪和在内容层次结构中使用版式)有助于在应用程序中实现优秀的对齐效果。确保您考虑了对齐方式并遵循 Windows 8 中建议的边距。 参考资料(HTML) https://msdn.microsoft.com/zh-cn/library/windows/apps/hh465386 参考资料(XAML) https://msdn.microsoft.com/zh-cn/library/windows/apps/hh465386
|
利用版式和空白,遵循一种字体层次结构 字号、粗细、颜色、跟踪和空格的适当使用可帮助您为 Metro 应用程序提供一种干净、整洁的外观,使它更容易使用。 参考资料(HTML) https://msdn.microsoft.com/zh-cn/library/windows/apps/hh700394.aspx 参考资料(XAML) https://msdn.microsoft.com/zh-cn/library/windows/apps/hh700394.aspx
|
包含Windows 8个性特征 Windows 8 Metro 设计是独一无二的。如果您有一个为不同平台编写的应用程序,它可能拥有与 Windows 个性特征不一致的设计特征。 1. 重用具有渐变、3D 或圆角等的图标或图形。 2. 提供不是真正数字化的动画(比如翻页动画)。 在设计用于 Windows 8 的应用程序时请考虑所有这些因素。一定要熟悉 Windows Animation Library 并利用它提供您的用户很熟悉且容易发现的过渡。 参考资料(HTML) https://msdn.microsoft.com/zh-cn/library/windows/apps/hh465424 参考资料(XAML) https://msdn.microsoft.com/zh-cn/library/windows/apps/hh465424
|
专为良好的第一印象而设计 用户在安装了您的应用程序之后,首先通过单击您的磁贴和您的应用程序的磁贴来与它交互;然后他们会看到初始屏幕以及应用程序的前景色和背景色。 · 确保您在清单中选择的前景色和背景色是互补色,并且在高对比度显示和较低的屏幕亮度下看起来也很好。 参考资料(HTML) https://msdn.microsoft.com/zh-cn/library/windows/apps/hh465338 参考资料(XAML) https://msdn.microsoft.com/zh-cn/library/windows/apps/hh465338
|
动画是有目的性的,建立连续性并向用户传达信心 有目的性、良好设计的动画会给应用程序带来活力,使体验给人高端和精致的感觉。帮助用户理解上下文更改,将体验与可视过渡融合在一起。如果您希望拥有快速且流畅的应用程序,请查阅拖放、边缘动画、过渡和 UI 动画指南。 参考资料(HTML) https://msdn.microsoft.com/zh-cn/library/windows/apps/hh465209 参考资料(XAML) https://msdn.microsoft.com/zh-cn/library/windows/apps/hh465209
|
针对触摸而设计 您的应用程序还应该针对所有输入类型(包括触摸)进行优化。 · 触摸交互设计 · 目标调整 · 可视反馈 · 选择 参考资料 (HTML) https://msdn.microsoft.com/zh-cn/library/windows/apps/hh465415 参考资料(XAML) https://msdn.microsoft.com/zh-cn/library/windows/apps/hh465415 返回顶部 |
用户体验–控件、导航、动画 |
内容是主要的导航机制 优秀 Metro 应用程序的特征是内容重于形式。当人们将精力集中在内容上时,该内容的合成形成了应用程序的特性,因此它应该成为主要的导航机制。避免选项卡、导航菜单和主页按钮。如果您的应用程序需要导航,可以使用一个标题菜单和选择标签来导航,或者使用一个导航栏。 参考资料(HTML) https://msdn.microsoft.com/zh-cn/library/windows/apps/hh761500 参考资料(XAML) https://msdn.microsoft.com/zh-cn/library/windows/apps/hh761500
|
适当使用应用栏 应用栏为用户提供了在需要时轻松访问命令的能力。用户将熟悉该模式并期望在不同应用程序上获得一致的体验。您应该 · 确保您的应用栏条理清晰、一致、不杂乱且适合所有视图状态。 · 应用栏中不应拥有导航元素。 要了解更多信息和创建优秀的应用栏,请遵循应用栏指南。 参考资料(HTML) https://msdn.microsoft.com/zh-cn/library/windows/apps/hh465302 参考资料(XAML) https://msdn.microsoft.com/zh-cn/library/windows/apps/hh465302
|
适当利用命令界面并认真考虑边缘 上下文菜单、弹出菜单和超级按钮等命令界面都是为协同工作而设计的。 · 确保在接近屏幕左侧和右侧执行超级按钮和任务切换的地方没有命令界面 · 确保使用了具有浅色解除按钮的弹出菜单 · 不在弹出菜单或上下文菜单上包含持久内容。 · 确保您的命令策略适用于多个视图状态,包括已填充和已贴靠。 参考资料(HTML) https://msdn.microsoft.com/zh-cn/library/windows/apps/hh761499 参考资料(XAML) https://msdn.microsoft.com/zh-cn/library/windows/apps/hh761499
|
显示不引人注目的、有意义且实用的错误处理 以一种不引人注目的方式向用户提供错误,确保您的消息是实用的。遵循错误消息指南并选择合适的 UI 界面来显示错误。 参考资料(HTML) https://msdn.microsoft.com/zh-cn/library/windows/apps/hh465304.aspx 参考资料(XAML) https://msdn.microsoft.com/zh-cn/library/windows/apps/hh465304.aspx
|
适当利用语义缩放 语义缩放是一种在单一视图中显示和导航大量相关内容的针对触摸优化的技术。如果应用程序显示这些内容,您应该考虑使用 语义缩放 控件。 参考资料(HTML) https://msdn.microsoft.com/zh-cn/library/windows/apps/hh465319 参考资料(XAML) https://msdn.microsoft.com/zh-cn/library/windows/apps/hh465319 返回顶部 |
用户体验 – 视图和外观设置 |
支持横向和纵向视图 旋转允许用户优化与您的应用程序的交互,实现针对其设备的最佳舒适性和易用性。Windows 8 为您提供了多种旋转选择:自由、约束和组合。如果合适,为您的应用程序实现尽可能多的选择。 参考资料(HTML) https://msdn.microsoft.com/zh-cn/library/windows/apps/hh465315 参考资料(XAML) https://msdn.microsoft.com/zh-cn/library/windows/apps/hh465315
|
适应不同的外观设置和长宽比 Windows 8 将可用于无数的设备、外观设置、分辨率和长宽比。 参考资料(HTML) https://msdn.microsoft.com/zh-cn/library/windows/apps/hh465386.aspx 参考资料(XAML) https://msdn.microsoft.com/zh-cn/library/windows/apps/hh465386.aspx
|
处理贴靠、填充和完整视图状态 您的应用程序应该处理贴靠、填充和完整视图 参考资料(HTML) https://msdn.microsoft.com/zh-cn/library/windows/apps/hh465371 参考资料(XAML) https://msdn.microsoft.com/zh-cn/library/windows/apps/hh465371
|
朝单个轴平移和滚动以建立稳定的感觉 平移可帮助用户导航一个(在水平或垂直方向上)无法在视区内容纳下的视图。在平移时需要考虑许多因素,例如:设备类型、方向、输入类型(比如鼠标、触摸或手写笔)等。 参考资料(HTML) https://msdn.microsoft.com/zh-cn/library/windows/apps/hh465310 参考资料(XAML) https://msdn.microsoft.com/zh-cn/library/windows/apps/hh465310
|
在只有一个鼠标或键盘的系统上正常运行并给人自然的感觉 键盘仍然是 Windows 的一种非常重要的输入机制。您应该确保应用程序适用于仅使用键盘的用户。这将需要处理导航、制表位和排序等。 参考资料(HTML) https://msdn.microsoft.com/zh-cn/library/windows/apps/hh750315 参考资料(XAML) https://msdn.microsoft.com/zh-cn/library/windows/apps/hh750315
|
在只有一个屏幕键盘的系统正常运行并给人自然的感觉 针对触摸而设计将是 Windows 8 中的制胜法宝。在布局屏幕时,您应该在最低分辨率 (1024x768) 上测试并确保您的应用程序适用于软键盘。 参考资料(HTML) https://msdn.microsoft.com/zh-cn/library/windows/apps/hh465415 参考资料(XAML) https://msdn.microsoft.com/zh-cn/library/windows/apps/hh465415 返回顶部 |
用户体验 – 设置 |
实现Settings超级按钮,不要在应用程序中的其他地方放置设置和首选项 Settings 超级按钮是一个可供用户配置应用程序的一致、熟悉的界面。 参考资料(HTML) https://msdn.microsoft.com/zh-cn/library/windows/apps/hh770544 参考资料(XAML) https://msdn.microsoft.com/zh-cn/library/windows/apps/hh770544
|
漫游用户设置和用户状态 漫游应用程序数据让用户能够跨多个设备(比如他们的工作 PC 和家用平板电脑)同步应用程序数据。如果用户在两个设备上安装了同一个应用程序,Windows 会保持应用程序数据同步,就像用户首选项一样。这减少了用户需要在第二个设备上为您的应用程序所执行的设置工作量。 参考资料(HTML) https://msdn.microsoft.com/zh-cn/library/windows/apps/hh465094 参考资料(XAML) https://msdn.microsoft.com/zh-cn/library/windows/apps/hh465094
|
拥有出色的登录/注销体验 如果应用程序要求用户登录以启用某项功能,请留意与登录和注销相关的用户体验和工作流。 返回顶部 |
用户体验– Contracts |
实现搜索合约 搜索合约支持从系统中的任何地方搜索应用程序的内容。 · 使用系统和其他应用程序中的 搜索 超级按钮,利用用户建立的肌肉记忆 · 确保用户在搜索和更改搜索设置时拥有一致且可预测的体验 · 如果用户经常搜索您的应用程序,将它放在可搜索应用程序列表的顶部,让它更显眼 要实现出色的搜索体验,请遵循搜索指南。 参考资料(HTML) https://msdn.microsoft.com/zh-cn/library/windows/apps/hh465233 参考资料(XAML) https://msdn.microsoft.com/zh-cn/library/windows/apps/hh465233
|
实现共享目标合约 用户总是拥有他们希望共享的信息。 参考资料(HTML) https://msdn.microsoft.com/zh-cn/library/windows/apps/hh465251 参考资料(XAML) https://msdn.microsoft.com/zh-cn/library/windows/apps/hh465251
|
实现共享源合约 一种扩展应用程序并将它连接到任何其他应用程序或服务的轻松方式是实现共享合约。参与共享合约意味着您无需编写额外的代码或向其他开发人员提供您应用程序的一个 SDK 来共享内容。 参考资料(HTML) https://msdn.microsoft.com/zh-cn/library/windows/apps/hh465251 参考资料(XAML) https://msdn.microsoft.com/zh-cn/library/windows/apps/hh465251
|
拥有漂亮、品牌化的合约UI 有时我们会看到设计漂亮的应用程序,它们的合约用户界面中没有详细信息。
|
利用文件选取器 Metro 应用程序可调用一个文件选取器窗口来让用户浏览他们的系统,挑选供应用程序操作的文件或文件夹,或者让用户使用新名称、文件类型或位置保存文件(“另存为”)。应用程序有也可以将文件选取器作为一个界面使用,使他们能够为其他应用程序提供文件、保存位置或者甚至文件更新。 参考资料(HTML) https://msdn.microsoft.com/zh-cn/library/windows/apps/hh465182 参考资料(XAML) https://msdn.microsoft.com/zh-cn/library/windows/apps/hh465182 返回顶部 |
用户体验- PLM |
适当处理PLM状态 要允许用户在应用程序之间切换并感觉他们从未离开您的应用程序,您必须适当并有效地处理进程生命周期管理 (PLM) 事件。从总体上讲,您应该: · 在暂停时保存过渡状态 · 处理恢复事件,如果在用户上次查看内容后,内容发生改变,则更新视图 · 在执行启动事件时还原在最后一个已知状态终结时的过渡状态 要了解有关 PLM 事件的更多信息,请遵循挂起和恢复指南 参考资料(HTML) https://msdn.microsoft.com/zh-cn/library/windows/apps/hh465088 参考资料(XAML) https://msdn.microsoft.com/zh-cn/library/windows/apps/hh465088
|
适当使用后台任务 通过后台任务,Metro 应用程序可在挂起或终止时运行。尽管有这个灵活的选项可用,但不是所有应用程序都需要后台任务。 参考资料(HTML) https://www.microsoft.com/download/en/details.aspx?displaylang=en&id=27411 参考资料(XAML) https://www.microsoft.com/download/en/details.aspx?displaylang=en&id=27411 返回顶部 |
用户体验–网络 |
在离线时和在网络连接不稳定时都能良好运行 如果您的应用程序依赖于 Internet 或任何其他可能不稳定的资源,请确保它能够处理资源的缺失。 · 您的应用程序不应在离线时崩溃(当进行冷启动或在挂起期间丢失连接后恢复时) · 它应该在离线时保留尽可能多的功能 · 它应该适当检测不稳定资源的可用性和过渡,在资源可用时启用正确的功能 返回顶部 |
用户体验–标题和通知 |
拥有漂亮、品牌化的磁贴 在设计优秀的磁贴时需要考虑一些事项:您的品牌、磁贴尺寸、本地化、高 dpi 显示、是否使用文本表示应用程序名称,或者通过磁贴展示品牌。 参考资料(HTML) https://msdn.microsoft.com/zh-cn/library/windows/apps/hh465403 参考资料(XAML) https://msdn.microsoft.com/zh-cn/library/windows/apps/hh465403
|
拥有活动磁贴或二级磁贴 如果您希望应用程序引人注目,需要使您的磁贴生动并利用二级磁贴来为用户提供额外的便利性。可通过许多方式让磁贴引人注目,其中大部分方式都不需要服务。 · 磁贴更新 · 徽章 · 二级磁贴 · 定期通知 · 计划通知 · 推送通知
|
使用toast通知提供具有时效性、相关的信息 Toast 通知应该仅用于相关且具有时效性的信息。 参考资料(HTML) https://msdn.microsoft.com/zh-cn/library/windows/apps/hh465391 参考资料(XAML) https://msdn.microsoft.com/zh-cn/library/windows/apps/hh465391
|
恰当处理来自合约、二级磁贴和通知的激活 当一个应用程序从共享合约、搜索合约、磁贴或通知激活时,参数和数据会传递到您的应用程序。您的应用程序应该在启动时检索该数据并对其执行操作。 参考资料(HTML) https://msdn.microsoft.com/zh-cn/library/windows/apps/hh465102.aspx 参考资料(XAML) https://msdn.microsoft.com/zh-cn/library/windows/apps/hh465102.aspx 返回顶部 |
应用商店 |
期望满足Windows 8 App认证需求。 应用程序卓越实验室不能取代在认证期间执行的慎密测试和验证。请仔细查阅 Windows 应用商店认证需求并确保您的应用程序满足所有需求。 参考资料(HTML) https://msdn.microsoft.com/zh-cn/library/windows/apps/hh694083.aspx 参考资料(XAML) https://msdn.microsoft.com/zh-cn/library/windows/apps/hh694083.aspx
|
通过Windows App Certification Kit (WACK)测试 要为您的应用程序提供通过认证的最佳机会,请使用 Windows App Certification Kit 在您的计算机上验证和测试它。 参考资料(HTML) https://msdn.microsoft.com/zh-cn/library/windows/apps/hh694081.aspx 参考资料(XAML) https://msdn.microsoft.com/zh-cn/library/windows/apps/hh694081.aspx 返回顶部 |
性能 |
UI始终响应迅速并为交互提供可视反馈 您的 UI 应该始终响应迅速并为用户提供可视反馈。以下是您应该包含的一些反馈交互示例: · 当用户按下一项时,提供可视反馈(一个按下的动画) · 当用户开始执行长期运行的操作时,比如网络调用或异步保存文件,显示进度控件或通过其他方式让用户知道操作正在执行。 有关更多技巧,请查阅用户交互指南 参考资料(HTML) https://msdn.microsoft.com/zh-cn/library/windows/apps/hh465370 参考资料(XAML) https://msdn.microsoft.com/zh-cn/library/windows/apps/hh465370 返回顶部 |
性能–动画 |
保持每秒60帧 快速且流畅的应用程序应该以每秒 60 帧的速率重新绘制屏幕。 · 使用 Windows Animation Library(如果使用 HTML/Javascript 编写应用程序) · 使用 XAML 中的原生动画 · 尽可能利用独立的动画 参考资料: 参考资料(HTML) 在使用 HTML 和 JavaScript 构建的 Metro 应用程序中制作 UI 动画 参考资料(XAML) 其他参考资料 为使用 HTML 和 JavaScript 构建的 Metro 应用程序制作动画的性能技巧 返回顶部 |
性能–生命周期 |
优化暂停和恢复处理函数 暂停和恢复 PLM 事件将允许用户在任务之间切换并感觉他们从未离开应用程序。如果您希望让任务切换变得顺畅,必须拥有针对迅速执行而优化的暂停和恢复事件处理函数。如果想要快速暂停和还原,可以考虑以下优化: · 在暂停时保存最少量的数据;任何非过渡性的应用程序状态都可在之前保存,因为它会在整个应用程序中更改 · 避免在没有状态更改时保存状态 · 优化您的还原处理函数以执行最少量的工作。您的应用程序始终保存在内存中;如果您的数据未更改,您可能没有太多工作要做。如果您的数据发生了更改,请在后台刷新它并确保应用程序在您刷新时能迅速响应。 参考资料: 参考资料(HTML) 参考资料 (XAML)
|
在分配的时间内暂停和恢复 一个应用程序有 5 秒时间在暂停事件触发后保存状态。 参考资料(HTML) 参考资料(XAML) 返回顶部 |
性能–缓存和本地数据 |
尽可能多地依赖于本地、封装的内容 本地资产(图像、数据文件等)加载速度比您通过网络调用从一个服务或网站下载资产更快。应将常见的缓存技术应用于您的 Metro 应用程序。 参考资料(HTML) 待定 参考资料(XAML) 待定 返回顶部 |
性能–启动 |
第一个页面必须在不到5秒内加载。 第一印象至关重要。快速且流畅的应用程序必须拥有不错的启动时间。计划在从冷启动后 5 秒内加载(并正常运行)您应用程序的第一个页面。 参考资料(HTML) 参考资料(XAML) https://msdn.microsoft.com/zh-cn/library/windows/apps/hh771190.aspx
|
充分利用字节码缓存 这种优化仅适用于使用 HTML 和 JavaScript 构建的 Metro 应用程序。 · 确保所有 JavaScript 文件使用一种字节顺序标记 (BOM) 进行了 UTF8 编码 · 确保所有 JavaScript 文件都在您的 HTML 开始页面的根下静态引用 有关字节码缓存的更多细节,请访问 https://msdn.microsoft.com/zh-cn/library/windows/apps/hh849088.aspx。 参考资料(HTML) https://msdn.microsoft.com/zh-cn/library/windows/apps/hh849088.aspx 参考资料 (XAML) 不适用 返回顶部 |
性能–内存 |
将内存工作集控制在目标大小 大部分时间,使用更少的内存意味着您在更高效地做事。 · 在暂停时,释放您知道将在以后恢复时过期的内存或资源。 · 仅以想要的(或合理的)分辨率解码图像。 · 在您仅需要缩略图时为图像使用缩略图 API。 · 尽可能早地释放占资源较多的对象。不要忘记调用 URL.revokeObjectURL 参考资料(HTML) https://msdn.microsoft.com/zh-cn/library/windows/apps/hh750313.aspx 参考资料(XAML) 性能白皮书。 返回顶部 |
性能–网络 |
适当管理网络资源 虽然网络操作是异步的;但优化网络调用可帮助用户认识到您应用程序响应迅速(或准备就绪)。 · 在不需要挂起的网络操作时取消它们。不要执行不会用到的工作。 · 设计您的 API 以返回正确的数据量。如果您返回太多数据,您将执行额外的分析和下载额外的数据,这可能在计量网络上花费用户的成本;如果您下载的数据太少,您将会对需要准备向用户显示的数据执行太多调用(实际浪费更多带宽并导致更长延迟)。 返回顶部 |
性能–后台任务 |
认真考虑为后台任务分配的时间 应用程序在后台运行或者锁屏下运行会定期收集一定量的CPU时间.如果应用程序使用了它的所有可用 CPU 时间,它的后台任务将会挂起,直到应用的 CPU 配额在下一次 CPU 配额更新时得到补充。 参考资料(HTML) https://www.microsoft.com/download/en/details.aspx?displaylang=en&id=27411 参考资料(XAML) https://www.microsoft.com/download/en/details.aspx?displaylang=en&id=27411 返回顶部 |
其他信息 |
可访问 编写容易访问的应用程序可帮助您获得更多客户。 参考资料(HTML) https://msdn.microsoft.com/zh-cn/library/windows/apps/hh700325 参考资料(XAML) https://msdn.microsoft.com/zh-cn/library/windows/apps/hh700325
|
已本地化 Windows 在全球得到了广泛使用,所以您应用程序的设计需要让资源(字符串和图像)与它们的代码分开,以帮助简化本地化。 参考资料(HTML) https://msdn.microsoft.com/zh-cn/library/windows/apps/hh781206 参考资料(XAML) https://msdn.microsoft.com/zh-cn/library/windows/apps/hh781206 返回顶部 |