开发及设计基础

作为我们coder来说,最关注的还是wp7的开发。

开发语言

windows phone 7的开发主要以托管程序语言为主, 接口及功能都很灵活。主要有两种框架来开发:Silverlight框架,用来开发Internet交互丰富的应用程序;另一种是XNA框架,用做游戏的开发。二者 都使用Compact Framework上的基础代码。 

开发环境

  • 首先就是计算机的硬件要求:
    • 1.pc操作系统必须是Windows 7或者Windows VistaSP2(这个残疾儿童还是换win7吧)以上。
    • 2.计算机操作系统盘有3GB以上的磁盘空间。
    • 3.建议计算机系统内存空间至少有2GB,不然那个运行速度,你懂的。
    • 4.具备DirectX 10兼容的显卡。
  • 再者就是开发环境的搭建:
    • 以Microsoft VisualStudio 2010为主,下载windows phone 7开发包进行搭建,在安装windows phone 7开发包之前,需要安装sp1补丁包,windows phone 7开发包可以点击vm_web2.exe进行在线安装,也可以在页面下方点击.iso下载离线iso镜像离线安装,这个安装过程是相当傻瓜化的,不需要像android那样进行各种参数的配置。安装好之后就可以在Microsoft VisualStudio 2010项目之中找到windows phone的开发选项。这个安装包已经集成了Windows Phone Emulator、Windows Phone SDK 7.1 程序集、Silverlight 4 SDK 和 DRT、用于 XNA Game Studio 4.0 的Windows Phone SDK 7.1 扩展、用于 Windows Phone 7 的 Microsoft Expression Blend SDK、用于 Windows Phone OS 7.1 的 Microsoft Expression 等组件。其中Expression Blend进行UI的设计,使用WindowsPhone Emulator进行调试,这对于没有实体机的coder来说是最方便不过的了。

设计基础
1.wp7的输入方式有四种:软键盘输入、传感器、多触手势、硬件按钮。
为触摸而设计是Windows Phone 7人机交互的最浅显的表示,为了触摸交互而设计的,所有的导航通过一系列手指手势的移动组合而完成。为了达到你应用程序中的主要目标,提高可用性和提供直观的设计,需要对针对触摸屏的控件进行精心布置和调整尺寸。

触摸方式:单点触摸(单击、双击、平移、划动、长按)、多点触摸(缩放)。

我们可以想象,我们是不是可以通过监听不同的触摸方式来做一些应用程序,就像武侠小说中各种神奇的武功一样,不同的组合得到不同的效果,当然这是后话了。

2.考虑较大的点击区域
以下情况需要每一个点击区域大于9毫米:

  • 该UI元素经常被点击(触摸)
  • 如果用户点击在错误的目标上的话后果会很严重。例如,发送出去一个没有完成的短信,或者删除一封邮件。错误的点击带来的结果会让人感到沮丧。例如,导致一个对话框或者其他应用程序运行,或者用户被导航到一个他不期望的界面。 
  • UI元素挨着屏幕的边沿用户不便于点击。 
  • 该UI元素作为一系列任务的一部分,或者一个任务需要你多次点击一系列屏幕上相邻的元素。例如使用拨号面板。

3.考虑较小的点击区域

屏幕上UI元素最小的高度和宽度是7毫米。

两个UI元素或者点击目标之间的间隙必须大于2毫米且小于7毫米,例如文本或者单选框大小的约束。

对于具有特殊大小约束的 UI 元素,考虑下列一个或多个情况: 

  • 增大 UI 元素之间的空隙,使得适应点击区域的大小(例如 9 毫米的点击区域)。 
  • 如果高度被限制,可以使用长方形的控件,使得他们能够容易被点击到。如果点击区域的宽度大于 20毫米,则其高度可以小于 7 毫米。

4.自然和直觉性的交互

"Metro" 的设计原则要求 UI 元素真正的被数字化。但是您应当使用自然而恰当的数字化模拟,在没必要的时候,不需要完全模仿真实的交互。开发人员应该具备一种观念,那就是 UI 应该看上去和感觉上像真实世界中的那样好才行。并且,如果需要,试着来模拟真实世界的行为。

5.内容就是接口
使用应用程序的内容,例如一张照片或者一个Web页面来作为UI,并且让用户点击它进行交互。再一次强调,你应该使用Windows Phone 7 中的通用Silverlight控件来保持一致性。

6.自然的响应

  • 使用手势来模拟真实生活中的行为,例如在相片上平移手指来移动它。 
  • 不要使用手势作为任务的快捷方式,仅仅在需要手势的时候使用它。 

7.竖屏模式

在竖屏模式下,页面在垂直方向的时候高度要比宽度大。当设备旋转或滑出物理键盘的时候,方向会发生改变。当屏幕方向更改的时候,具有方向感知功能的应用程序也应当去响应 该方向改变。

8.横屏模式

在横屏模式下,页面显示的宽度大于高度。下面是一 些横屏模式用途:

  • 当用户使用一个横向拉出键盘进行输入时,例如编写 email 和短信的时候。
  • 如果某个网页更适合横向浏览的时 候,横屏模式能为用户提供了更好体验。
  • 拍照的时候。
  • 查看单张照片或观看幻灯片的时候。
  • 欣赏电影或 视频的时候。
  • 玩游戏的时候。

9.程序设计时的考虑

应用程序必须同时支持所有的屏幕方向。如果一个应用程序能支持横屏模式和竖屏模式,当用户翻转手机的时候,或者滑出物理键盘的时候,屏幕显示模式就会发生转换。由于orientation 属性是只读的,通过编程的方式不能直接转换屏幕的显示模式。但是也有个间接的方法可以实现这一功能,通过对 SupportedOrientations 属性的赋值可以实现。
10.主题

主题是用于个 性化的 Window Phone 视觉元素的资源。Windows Phone 7 系列的开发人员在创建应用程序的时候从文体的角度(Stylistic standpoint)下可以保持原有设备 UI外观以及感觉的一致性。这些样式属性包括背景颜色和重点色彩(Accent colors)。主题能确保用户界面元素以及控件呈现的一致性,防止不和谐的用户体验。主题只包含色彩。字体或者控件大小等其他元素都不能改变。

此功能的目标包括:

  • 在 Windows Phone 7 的开发人员可以构建应用程序并且直接在他们的代码中访问主题的属性。
  • 开发人员可以明确地改变任何主题的属性,使其与满足他们自己的品牌要求。

使用主题的优点是保持与 Metro 设计原则的一致性和兼容性。开发人员可以直接使用默认的控件设置,而不需要更改的一些通用的属性(例如色彩风格),这些属性的风格将在运行时根据主题文件中设置而更改。在 Windows Phone下运行的应用程序会自动根据相应的主题而修改视觉效果。此外,开发人员可以在应用程序级别上覆盖主题。例如,某些公司如果需要特显其本身强烈的色彩元素,在开发开发的应用程序的时候可以保持自身的色彩风格。开发人员可以使用自己的资源来覆盖任何主题的属性。但是,他们不能关闭主题。

设计准则
Microsoft提出了一个称为“红线准则”的理念来帮 助设计并且完善用户体验。
红线准则:

  • 个性(Personal)——您的生活方式。
  • 关联(Relevant)——您的社交圈子,您所在的位置。
  • 互联(Connected)——您的资料,您的想法。

个性:作为开发人员的我们,常常构建出一个忽视个体的应用程序,原因来自于各个方面,比如市场需求,或者是缺乏相应的理解, 从某种意义上讲,使应用程序变的个性化的关键之处在于只呈献给与用户有关的信息。例如,您构建的应用 程序用于显示项目中尚未完成的任务,那么只需显示涉及当前用户的任务即可。使应用程序变得个性化的一个“辅助作用”就 是无需再传递大量数据。对于上述任务应用程序,如果您没有将其设计为个性化程序,则不得不将项目中所有尚未完成的任务进行同步。但是由于用户实际上只对她或他自己的任务感兴趣,所以可以减少需要同 步和呈现的数据量。
关联:我们可以将关联的概念应用到许多方面。在包含位置服务的Windows Phone中,一个显而易见的应用就是基于用户的位置过滤数据。例如您可以利用位置信息来显示项目中正好位于或者靠近用户当前位置的相关任务。此外还有一些不太明显的应用,例如加速度计来计算用户是否在移动,或者使用日期和时间通过一个骑当的时间窗来过滤信息。
互联:Microsoft对Windows Phones 应用程序以断开连接或偶尔连接的方式运行并不抱幻想。不过,他们同时也深知云计算的强大功能以及托管服务的使用可以扩展移动应用程序的功能和范围。与构建以个孤立的应用程序不同,“互联”准则可以激发您描绘出得一副更广阔的场景,例如用户能与他人协作,在设备间分享信息和知识,无论身处何处都能访问他们的信息。您所构建的应用程序应该可以连接联机服务、在云中存储信息或者能与其他用户进行沟通。并非建一个一直处于连接状态,并且完全依赖域网络连接的应用程序。移动网络想要达到无所不在的程度还有很长的路要走,即便是再一些网络覆盖很好的地方,也会出现没有信号的情况,例如在
飞机、火车和汽车上。相反,要构建一个功能与网络连接相独立的应用程序,无论何时,只要网络可用,就可以在后台进行同步和更新。
总之,构建一种令人心动的用户体验本身就是一种艺术形式。需要将判断用户需求、想要何种信息的能力与一些能使用户赏心悦目的自然创造力结合起来。除了遵循“红线准则”一遍使您的体验变得“个性”、“关联”、“互联”之外,还应确保只呈现给用户希望看到和使用的信息。

posted on 2012-04-02 10:41  WaitingSky  阅读(482)  评论(0编辑  收藏  举报