《iOS应用软件设计之道》—— 2.5 何时画草图

简介:

本节书摘来自华章出版社《iOS应用软件设计之道》一 书中的第2章,第2.5节,作者:(美)William Van Hecke ,更多章节内容可以访问云栖社区“华章计算机”公众号查看。

2.5 何时画草图

在若干情况下,画草图是很有必要的。
描述架构提纲。最初,你要仔细检查整个架构提纲,画出每一幅画面的内容。每个功能都要能看到,每步流向都要明确,架构提纲里的每个条目都要以某种形式在草图中体现出来。一时间,你的各个想法和注解组成了可供检查和发展的基础。这些草图和提纲一起呈现出了对应用软件应该如何表现的高层次理解。
直接画架构草图。倘若应用软件规模较小,其功能可以通过所提供的画面显示来定义,就可以跳过架构提纲,直接从架构草图开始。对小不点型的应用软件(如内置的Stocks或Notes),这是最简单的办法。它们只有几个画面,界面大都是静态的,没有太多的流向。
混合方法。有些时候,甚至在早期,你已经对应用软件主界面有相当好的直觉理解。这些情况下,如果相信直觉,你可以从画出屏幕开始:在熟悉的应用软件里编辑典型的文档,在信息型的应用软件里查看典型的状态画面;在教育型的应用软件里开始一节典型的课程等。先做这个草图,可能让你有足够材料来思考架构提纲。一旦你知道主界面的外观该是怎样的,就很容易列出所需做的其他事情。
除此之外,你还可以随时画草图。对于项目过程中冒出的大多数问题,画点草图都会有好处。草图可以是含糊的,也可以是完整的,因情况而异。两个人站在白板前谈论某个界面的细节,交谈过程中可能会想出多个大致可行的方案。而其他人随后看到这个白板上的内容,也许搞不清楚它画的是什么。草图只是一种短暂的沟通辅助手段罢了。相比之下,架构草图应当足够清晰,你和别人可以参考这些草图,无需太多解释就能理解每个画面的思路。
设计从来不会遵循一条事先能预见的路径,原始提纲中描述的产品也不会恰好如你设想的那样变成现实。那是正常的。持续不断修改正是设计过程的一部分。在你不可避免地决定要添加或改变一项功能时,就要把它实现并画出草图,就像它一开始就在规划中那样。
一般来说,几乎每样东西都至少要画一次草图,也许画好多次草图才能定案。倘若你保存了先前的草图,则日后回顾这些草图,就会惊奇于哪些部分没有改变,回忆起那些可能还有些价值的过时想法,还会对你过去那些疯狂无知的主意感到好笑。
时刻记住这是iOS平台
如果你还没读过苹果开发者网站上的《iOS人机界面指导原则》(iOS Human Interface Guidelines),那么现在是该读这本书了。要想大体了解在这个平台上可做什么、能做什么,你要把这部书牢记于心。即使你已经用iOS的应用软件好几年了,并对其深有体会,也肯定有些你不知道的地方。例如,你知道模态视图的四种风格吗?每种风格适用于什么情况?
花时间熟悉你在iOS上可做什么的基础知识,这是很值得的:表格视图、导航控制器、分割视图、浮动框等。如果想了解更深入,可以参看本书第3章对《iOS人机界面指导原则》做的延伸和评述。
当然,在给iPhone或iPad画草图时,记住比例系数(即硬件屏幕的尺寸)是很关键的。记住在iPad上,所有草图要既能适用竖向放置(垂直),又能适用横向放置(水平);而在iPhone上,可以容易地只用一种放置模式。同样,所有要输入文本的画面都应该容纳键盘,在某些语言中还要容纳出现在键盘上方的完成栏。
没有必要为每个想法画若干个草图,每个草图都包含放置模式和键盘的状态,但不要创作任何依赖某种放置模式而键盘一旦出现就会破坏整个效果的草图。现在就记住这些要考虑的因素,在第3章中会正式地探究它们。

相关文章
|
设计模式 前端开发 iOS开发
iOS设计模式
iOS设计模式
124 0
|
存储 jenkins 持续交付
自己动手设计一款iOS自动构建发布工具
自己动手设计一款iOS自动构建发布工具
281 0
自己动手设计一款iOS自动构建发布工具
|
iOS开发
iOS头部渐变的表格视图设计(二)
iOS头部渐变的表格视图设计
109 0
|
iOS开发
iOS头部渐变的表格视图设计(一)
iOS头部渐变的表格视图设计
104 0
iOS头部渐变的表格视图设计(一)
|
iOS开发
设计iOS中随系统键盘弹收和内容文字长度自适应高度的文本框
设计iOS中随系统键盘弹收和内容文字长度自适应高度的文本框
170 0
设计iOS中随系统键盘弹收和内容文字长度自适应高度的文本框
|
开发工具 git iOS开发
iOS简易蓝牙对战五子棋游戏设计思路之一——核心蓝牙通讯类的设计(二)
iOS简易蓝牙对战五子棋游戏设计思路之一——核心蓝牙通讯类的设计
197 0
|
算法 iOS开发
iOS简易蓝牙对战五子棋游戏设计思路之一——核心蓝牙通讯类的设计
iOS简易蓝牙对战五子棋游戏设计思路之一——核心蓝牙通讯类的设计
136 0
|
存储 开发框架 C#
iOS数据持久化之二——归档与设计可存储化的数据模型基类(二)
iOS数据持久化之二——归档与设计可存储化的数据模型基类
194 0
iOS数据持久化之二——归档与设计可存储化的数据模型基类(二)
|
存储 iOS开发 开发者
iOS数据持久化之二——归档与设计可存储化的数据模型基类(一)
iOS数据持久化之二——归档与设计可存储化的数据模型基类
140 0
iOS数据持久化之二——归档与设计可存储化的数据模型基类(一)
|
iOS开发 前端开发 Swift
iOS中基于协议的路由设计
前段时间对我们自己的App做了结构上的重构,抛弃了之前简单的MVC开发模式。本文将重点分享重构中的Router模块。