基本信息
- 原书名:Learning iOS Design: A Hands-On Guide for Programmers and Designers
- 原出版社: Addison-Wesley Professional
- 作者: (美)William Van Hecke
- 译者: 张菲
- 丛书名: iOS/苹果技术丛书
- 出版社:机械工业出版社
- ISBN:9787111478331
- 上架时间:2017-5-26
- 出版日期:2014 年10月
- 开本:16开
- 页码:239
- 版次:1-1
- 所属分类:计算机 > 软件与程序设计 > 移动开发 > iPhone

编辑推荐
资深软件用户体验设计专家数十年软件开发与设计经验结晶,全面揭示正确的软件设计理念与流程,ignorethecode.net创始人Lukas Mathis作序倾情推荐,Amazon全五星评价。
以一个完整示例清晰阐释将含糊的应用灵感转换成真是软件的全过程,深入剖析设计的通用原则和平衡决策的方法、技巧,为高效开发应用软件提供翔实指导。
内容简介
计算机书籍
资深软件用户体验设计专家数十年软件开发与设计经验结晶,ignorethecode.net创始人 Lukas Mathis作序倾情推荐,内容全面而深入,为高效开发应用软件提供最佳指导。
《iOS应用软件设计之道》是一部介绍iOS平台上应用软件设计的指南,旨在向软件开发人员和设计人员灌输正确的软件设计理念与流程,以一个示例贯穿列提纲、画草图、画线框图、创作实体模型、创作原型软件,最后到应用软件完工的整个过程。作者叙述了构造优雅、得体软件界面的方式与方法,引导用户在使用应用软件时如何做出各项决定,以及如何营造友好的交互过程乃至用户体验。本书还介绍了如何依据项目需求权衡利弊,最终得到恰当表现和行为的应用软件。本书涵盖常见的软件设计思路,表达通畅,不仅适用于iOS平台,对于其他操作系统上的软件开发同样具有借鉴意义。
作译者
张菲 资深软件开发工程师和网络工程师,有超过15年的从业经验,经验十分丰富。业界知名的科技图书译者,曾经翻译了《代码大全(第2版)》(合译)、《iPad应用开发实践指南》和《编程卓越之道:第二卷》等经典著作,深受读者好评。此外,他还在《计算机世界报》等丌媒体上发表了多篇技术文章。
目录
译者序
序
前言
第一部分 将灵感转换成软件
第1章 列出提纲 2
1.1 过程:非线性但有序 2
1.2 编写软件说明 3
1.3 厘清头绪 4
1.4 列出提纲时的更多输入 5
1.5 列出需求提纲 6
1.6 需求禁忌 7
1.7 定义纲领 8
1.8 列出分歧 8
1.9 iOS与特色 9
1.10 减少问题 9
1.11 列出架构提纲 10
1.12 提纲即待办事项清单 11
1.13 小结 11
1.14 练习 11
译者序
翻译本书也是我对苹果iOS平台开发的学习和研讨过程。本书读起来饶有趣味,不仅处处闪现着作者的真知灼见、“Donald Norman的三层认知模型”,还有像“橡皮鸭法”、“Five Whys游戏”、“避免货物崇拜式设计”、“组件的层次感标识它们是可交互的控件,平整的东西则帮用户认出那是属于他的内容”、“劳动分工”等小的有趣点子,让读者回味无穷,在不知不觉中接受作者的设计思想。因此,我也是本书知识的受益者。正如本书作者所述,本书呈现的设计思想不仅适用于iOS,同样适用于其他平台的软件设计,即使经验丰富的软件设计人员和程序员,也能从本书汲取营养,改善自己的工作成果。对于那些对iOS平台有兴趣,但还没有相关经验的开发者,本书更是一本难得的参考书。
原书各级标题本无章节号,翻译时为便于定位内容,为各章节加了序号。另外,作者在书中举例时指出了许多人名,有些人名不是国内所熟知的,为便于读者领会原书意思,我以“译者注”的形式简单介绍了一些人的情况。还有,书中提及的一些参考书,如有简体中文版出版的,以中文书名为准,并给出了译者、出版社、出版日期、书号等信息;尚无简体中文版的书籍,则自行翻译。若与日后可能出版的中文译本书名有出入,则请读者在检索时以英文书名为准。
机械工业出版社的编辑在我翻译本书的过程中为我提供了周到细致的服务,并对译稿做了高效率的、全方位的、细致的审校,指出了不少问题,对提高本书的翻译质量起了很大的作用。在此表示感谢。感谢我的家人王华敏、张益硕给予我的心理和生活支持,在此将本书的译著献给你们,你们永远是我前进的动力!
最后也是最重要的,我想感谢选择阅读本书的读者。市面上讲述iOS编程的著作还是颇有一些的,而且每个人的时间和精力都很宝贵,你愿意研读本书,愿意为它投入时间和精力,表明了你对它的信任和期望。我希望本书能有助于你实现目标,祝你成功!
译文力争以通俗通畅的语言再现原著的知识。由于译者水平有限,可能存在某些疏漏之处,请读者不吝赐教。你的意见、建议能够帮助我们改善本书的质量。欢迎你发邮件到zhangfei97@163.com,与我交流本书相关的信息,再次感谢!
张菲
前言
这个世界终究注意到了设计,尽管花了些时日,但设计的确很关键。
有关设计力量的完美故事可以追溯到2007年4月关于微软首席执行官史蒂夫·巴尔默的一番笑谈。那是在1月份,苹果公司的史蒂夫·乔布斯刚刚宣布了iPhone的诞生,所有人都在思量这个发布,考虑如何应对它。面对群雄割据的智能手机市场,巴尔默在“USA Today”的访谈中这样评论iPhone在市场中的机会:“iPhone不会有机会获得任何可观的市场份额。没有机会。”
我可不是幸灾乐祸,但这个预言的失误实在令人大跌眼镜。iPhone成为一个标志,重新定义了人们对手机的认识,而且几乎市场上所有“智能手机”都在从它身上汲取灵感。其姊妹iPad则终于颠覆了呆板的写字板概念,正在成千上万台地取代传统的台式电脑或笔记本电脑。iPhone和iPad在各自市场上都占据了半壁江山。App Store模式也重新定义了人们购买软件的方式,而且它已经向第三方开发者支付了近70亿美元的报酬。在2013年年初,苹果公司已经销售了近5亿台iOS设备。
为什么?iOS为何如此成功?2007年早期那些嘲笑iPhone的人,如巴尔默,忽略了什么呢?倘若询问任何熟知这段经历的权威人士,都会用一个词表达苹果公司的优势,那就是“设计”。(有些愤世嫉俗的家伙认为是苹果公司的市场营销做得好,其实不是这样。)
iOS是首个真正将设计放在第一位的技术平台(尚存在争议)。它没有冗长的、突出的功能清单,没有扭曲地容纳老式系统,没有假设一部手机应该看起来是什么样,表现成什么样,也没有抢到“第一个”进入市场的头衔。iPhone优先考虑美感、响应度和乐趣(而且若是苹果公司还不能做好的任何东西,则都会省略,直至能做好才会拿出来)。这种设计的观念是创造快乐,培育与用户的关系,想象最动人的用户体验,然后做出营造所想象效果的所有事情。
你也许会说,iPhone拒绝在用户体验方面做出让步。但正如本书所述,所有设计都是一种折衷。毫无疑问,在iOS诞生过程中,人们做出了无数次权衡和艰难的决定。但重要的是,只要可能,这些权衡都没有误入歧途,而是关注细节,摒弃传统智慧,把更多时间花到让用户更愉悦的方面。
不只是因为苹果公司和iOS,从更多方面来说,全世界已经明白,设计很重要。没有好的设计,就很难与别人竞争。找个好的设计人员比找个好的工程师困难(而成为好的设计人员同样很难)。设计精良的软件确实能够改善人们的生活,帮助他们更富有效率,当然,还让他们更快乐。本书着眼于赋予你实践、示例和建议,让你也能做到这一点。
你就是设计人员
设计就是决定东西应该怎么样。在设计的每个行动中,都要做出决定,以达到约束条件,满足某些受众或“用户”的需求。需求非常关键,因为不能为人们做有益事情的东西,充其量只是艺术品而不是设计。这些约束条件其实是你的朋友,因为它们会缩小可能的空间,使你的工作更容易实现。作为设计人员,你要考虑并行动的几乎所有事情都围绕着这样的原理:你如何满足用户的需求?你是如何在约束条件内工作的?
每件人造物品都是由人设计的。大多数时候你不会去想,是谁决定了我们周围事物的模样:椅子的高度、充电器的形状、毯子的花边等。这种想当然的忽略正是许多设计师的目标。如果人们对某件物品的设计视而不见,说明其设计者很可能做得很出色。在两千多年前,古罗马诗人奥维德曾将此说成:“艺术隐藏方有用”(Si latet, ars prodest)。艺术若藏而不露,就是成功的。你应该把这话打印出来贴在墙上。
倘若你曾做过某个东西,你就是个设计人员。做过沙发靠垫没有?插过花吗?给别人画过地图吗?不管你考虑得是否周全,不管你是否遵循了精心研究出来的原则,你确实是在设计某样东西。这就是设计,以小写字母d打头的design。你可以用某种方式设计iOS应用软件,但成果不大可能引人注目。本书旨在帮你精心“设计”(Design),意即尽力吸取、想象你能改善事物的所有手段;意即在考虑需求与约束条件时,做出最明智、灵活的决定;还意味着创建规划、草图、模型,直至做出最终产品。有个好消息,就是你可以从这里出发达到这个目的,一次一步,沿途不断地试验和学习。
阅读本书
本书介绍和探究设计iOS应用软件的话题,即使你认为自己(还)不是个设计者。纵使你并未参加过艺术或设计课程,倘若你认为自己有个工程或分析的头脑,而不是创造性的头脑,或者你认为设计过程如何进行充满神秘感,都欢迎你到此一游。
在许多会议上,我已经向大量有着工程头脑的观众展示了设计的理念。许多程序员明白他们应该关心设计,但设计实践在外人看来,似乎很神秘,甚至随心所欲,让别人觉得设计也不过如此,让人缺乏兴趣。但经过一些交谈和启示后,有人告诉我,他们总算明白设计为何重要了,他们也会系统地考虑设计问题了。
本书用通俗易懂的方法向你呈现设计的艺术性和科学性。
“第一部分将灵感转换成软件”历述设计的各个阶段,将含糊的应用灵感转换成活生生的设计。从勾勒外形的提纲到草图,到线框图,再到实体模型和原型程序。在此历程的每一个步骤中,你都会收获有关建议——如何对项目周全考虑、抓住要害、巧妙思考。每一章都有练习,激励你在自己的应用软件中规划设计。第一部分包含以下7章的内容。
“第1章列出提纲”。该章通篇讲述规划、写到纸上,并理解自己的应用软件灵感。你将学到一些方法,用于结构化思考并表达出来,摸清应用软件到底想怎样,以及贯穿项目不跑题。
“第2章画草图”。画草图是设计的核心活动。它就是要将灵感摆到台面上,探究这些思路能达到什么目标。倘若没有将灵感表达到纸、白板或屏幕上,你就无法了解其有多大价值。该章帮你适度地发挥开拓精神,又能遵从某些规范来画出草图。
“第3章熟悉iOS”。了解平台的约束条件是很关键的。iOS提供了多面手工具来构建界面和用户体验;你需要透彻了解这套工具,确定何时利用它做事,何时不能指望它。
序言
当苹果公司推出Mac OS X操作系统时,Mac计算机用户的感受是双重的。毫无疑问,Mac OS X是个光彩夺目的操作系统,但真正让Mac计算机独一无二的,很大程度上是它的软件。Photoshop、Illustrator、Claris Works和MacPaint等都是我们使用Mac计算机的理由。而采用了Mac OS X后,所有这些应用软件都不能用了。Mac OS X自带的应用软件寥寥无几,其中用着不那么糟糕的应用软件更是凤毛麟角。
尽管如此,仍有公司自从Mac OS X推出后,就为其开发好用的应用软件,而且持之以恒到现在。在过去的十年里,Omni集团已经拥有了数量可观的高品质产品。如OmniGraffle这样的应用软件,集易用性和操作自然、独特为一身。一方面,这些应用软件极容易上手,只需略微操作就能输出美妙的效果;另一方面,它们又很有深度。最近,Omni集团又将其业务延伸到iOS,实现了除了苹果公司以外无人能及的成就:将其应用软件引入iPad等便携的触屏设备上,其操作方法既让用户感到自然,又不牺牲应用软件的强大功能和深度。
在审视OmniOutliner、OmniGraffle还有命名有些玄乎的OmniGraphSketcher时,我大概不是唯一一个暗自揣摩的设计者。我常常在想:他们是如何做到的?这些人怎么能持之以恒地创作软件,让软件功能强大,容易上手,用着赏心悦目呢?还有更令人疑惑的是,他们是怎样设法在iOS上做到这些的,而iOS原本作为浅薄、设计糟糕、黔驴技穷、吸费应用软件的平台而臭名远扬。
好啦,今天是你的幸运日,因为你手头就拿着这些问题的答案。写这本书的Bill是我的朋友,他恰是Omni的用户体验部门负责人。他将为你揭开谜底。
我第一次听说Bill,是他在互联网上谈论Omni用木材、纸板、树脂玻璃和三维打印部件做出的iPad全比例复制品时。这些探讨让他在网上闻名遐迩。谁想制作iPad全比例复制品呢?苹果公司刚刚发布了iPad的消息,但还未将其投放市场。Bill的团队已经着手开始设计iPad上的应用软件,他们需要知晓这些应用软件在实际设备上的效果如何。在这一点上,不太上心的人可能会就此耽误几个月。然而Bill的团队却走到了前面,做出了他们自己的iPad。
多数用户体验(UX)设计者最终都能得到良好运行的设计。正是这种对细节的苛刻专注和工作态度,造就了创作良好设计与创作震撼心灵的设计之间的区别。
然而,Bill从其同行中脱颖而出还有其他因素。随便找个设计师都会告诉你,他们的目标是力争让其产品美观易用,用起来高效而舒适。但Bill走得更远。他的目标不仅是让应用软件对用户友好,而且要触动用户的心灵,帮助人们做出更漂亮的结果,取得更大的成功,活得更快乐。在他的一次展示活动中,他叙述了有人在OmniGraffle的帮助下,把其典藏的大众汽车甲壳虫改装成电动汽车的过程。对Bill来说,那才是终极目标。软件设计不只是要让某个应用易于操作,更是要让此应用对人们的生活有积极的影响,要帮助人们变得更好。
本书包含了你创作不同凡响、能改变生活的应用软件——就像Omni做的那样——需要知道的所有东西。尽管它是面向iOS设计人员的,但无论你设计时所用的平台是哪个,都可以通过阅读本书学到很多知识。我自认为对设计了解很多,但在阅读本书时,几乎每一页都会遇到有趣的点子、新概念或巧妙的设计技巧。从学会如何让你的应用软件更容错,到如何评估人们对你的应用软件的感受(是的,这是衡量软件设计的一个尺度),你都可以获得各种启迪。
更令人赞许的是,本书不只是提供一些无价的知识,它可以让你永久改变自己设计应用软件的方式,它的写作风格还会让你手不释卷地读下去。所以我的朋友,请冲一杯热咖啡,播放你喜爱的音乐,坐到最舒服的椅子里,因为你即将花很长时间来阅读本书。
享受本书带来的乐趣吧。
——Lukas Mathis
ignorethecode.net创始人,《亲爱的界面:让用户乐于使用、爱不释手》
(Designed for Use: Create Usable Interfaces for Applications and the Web)
的创作人
2013年3月
媒体评论
——摘自ignorehtecode.net创始人Lukas Mathis为本书作的序
书摘
将灵感转换成软件
第1章列出提纲
第2章画草图
第3章熟悉iOS
第4章线框图
第5章实体模型
第6章原型软件
第7章跨平台行动
第1章
列 出 提 纲
如果你想把你的灵感转换成软件,第一步就是要将其从你的头脑中取出来,以便你能看到它们。
在项目的生命期内,你要对需要做的事情有个意识上的把握,这是容易想到的。但更容易发生的是忽视某事情,或者没有想到某个功能的所有分歧,或者没有充分考虑细节问题。确实如此,软件太复杂了。在脑海里包括整个开发项目是不现实的,也没必要。实际上,你可以勾勒出软件的外形,以可靠、有组织的方式写下细节,让你的大脑能一次只关注一个挑战。
挑战来了。无论你在着手之前对项目考虑得多么彻底,你都会遇到意外的情况和边界条件。这就是做好准备很重要的原因:首先,你要列出整体规划和常见的情况,然后你就能有合理的结构,以为随后冒出的边界条件和意外情形预留空间。
有些设计困难可以用画草图来更好地应对,正如第2章说明的那样。但对于那些还没具体到一定程度,还画不出来的想法,怎么办呢?有时你需要借助抽象语言的优雅和力量,结合提纲的有序结构,还是能够推敲出下一步该做什么的。
1.1过程:非线性但有序
许多开发者,从爱好者到经验丰富的专业人员,都有个习惯,那就是采取乱序的(或称“有组织的”)开发过程。代码本身和应用软件的首个版本,“就是”设计。那些功能是他们即兴加上的。没有文档说明应用软件目前的状况,以及将来会是什么样子。
在这种开发风格中,界面组件很容易随着新功能的添加而逐渐沉积到屏幕上。每次添加一点小功能,都似乎已经够了,只要一两个小的界面元素。最终你会有个“成熟”桌面应用软件的界面设计。这个应用软件积累了几十年的功能和用户界面(UI)元素。由于这个原因,“成熟”往往意味着“混乱和笨重”。
在早期,你越多地定义和规划应用软件,你就越容易避免这种命运。本书将用一种特定顺序来践行将灵感转换成软件的步骤:
列提纲。