Windows 8 Metro Style Apps开发 为不同环境因素进行设计[译]
Metro Style App会运行在台式机、笔记本和平板电脑上,你需要为这些不同的情况设计你的应用。用户可能会在不同的设备之间转换、改变屏幕的方向、或者把一些东西(设备或者服务等)关闭或者开启,而你的Metro Style App需要适应这些情况。
触摸、鼠标和键盘输入
当你规划你的应用为触摸操作和输入时,你能够直接获得鼠标和键盘操作的支持。用户如果用一个输入方式切换到另一个输入方式,不会有糟糕的用户体验。如果把一个键盘插入触屏设备,这会怎么样?没关系,你的应用能够完全适应用户的选择。
更多信息请参考http://msdn.microsoft.com/en-us/library/windows/apps/hh700412.aspx
设备特性
伟大的应用能够充分利用运行它的设备的各种特性。Windows 8 (Release Preview版本)内建支持以下的设备特性:
1、加速计和其它传感器:现在的设备支持越来越多的传感器。你的应用可以通过环境光的检测来控制屏幕的明暗;当用户转动设备时转动UI的显示方向;或者对物理移动进行响应。
更多信息请参考 http://msdn.microsoft.com/en-us/library/windows/apps/br211360.aspx
2、地理位置信息:使用地理位置信息能够使用户获取周围信息、在地图上定位当前位置、或者获取周围人或活动的通知等等。
更多信息请参考 http://msdn.microsoft.com/en-us/library/windows/apps/hh465139.aspx
3、相机
4、近场通信:让用户在同时点击设备(或者“摇一摇” = =)就能够使设备建立连接,这能够使附近的人进行多人游戏。
更多信息请参考 http://msdn.microsoft.com/en-us/library/windows/apps/hh465229.aspx
在规划你的应用特性时,考虑一下你的应用可能运行的设备。某些设备特性是你的应用工作正常的必要条件吗?或者你能放弃一些设备吗?你需要在App的manifest文件中声明你的App支持的特性。不过在应用内部,对于可选的不重要的系统特性,你可能写一些fallbacks.例如,做一个能够让用户跟踪他们旅行路线的APP,能够在地图上标记站点、日记评论、发送到社交网络、以及添加照片和视频。对于这个应用,地理位置是必须的设备特性,而相机就是可选的(因为没有相机,不会影响APP的主要功能,而且用户可以从其他的设备导入照片和视频)。
多状态、多页面
Windows 8 把用户放在首位。你希望你的App UI能够完美运行在任何设备、任何屏幕方向,这样在任何情况下用户决定使用它。当用户改变屏幕方向时,你的应用应该“潇洒地”改变布局来适应。当你设计UI考虑到上述问题时,Windows将关心其余的部分。
Landscape:横屏视图
Portrait:竖屏视图
这些视图看起来好看的关键是:定义每个视图每种状态的布局。当你事先将两种视图状态都定义好之后,你的应用将会自动的适应不同的设备方向。
http://msdn.microsoft.com/en-us/library/windows/apps/hh465386.aspx
http://msdn.microsoft.com/en-us/library/windows/apps/hh465327.aspx
内建图形绘制
用户用户能够在不同的设备上使用你的App,这是否意味着你需要为不同的情况分别设计UI?有太多的屏幕尺寸!答案是,不必要。内建的绘制意味着你的应用和内容会一直看起来不错,无论是在较小的7吋设备或者较大的30吋屏幕上。你只需要使用一个流动式布局。
更多信息请参考http://msdn.microsoft.com/en-us/library/windows/apps/hh465362.aspx
云同步数据
如果用户从办公室的台式机转换到家庭的平板电脑?他们的文件、应用的状态、应用的个性化设置应该跟随他一起。
更多信息请参考 http://msdn.microsoft.com/en-us/library/windows/apps/hh465109.aspx
文章翻译自:
Design for different form factors (Metro style apps)http://msdn.microsoft.com/en-us/library/windows/apps/hh465400.aspx
锦燕云
http://www.cnblogs.com/vistach/archive/2012/08/02/Windows8_Win8_MetroStyleApps_DesignForDifferentFormFactors.html