本书以木工工具应用为例,演示如何确定产品目标,接着利用现有视图等要素从零开始搭建整个应用,然后使用高级功能进一步优化代码及资源,以达到“精心设计”的目的。另外,本书附录提供了应用推广所需物料等细节。全书内容覆盖面广,结构合理,涵盖产品经理、设计人员、开发工程师及市场推广人员所需的基础理论、实战技巧和精彩案例,适合但不限于以上人群阅读。
Google力推之全新设计规范首著问世 产品经理|设计师|开发者三位一体的无缝视角 引领移动设计未来:实用|易懂|吸引力
译者序
我从2008 年开始从事移动端界面设计研发的工作,当时正是Android 火热发展的阶段,借助在腾讯和搜狗项目历练的机会,我深刻了解到Android 相较其他平台更具有开放性和更多的可能性。在项目中我深刻体会到不够规范对设计和开发的成本所造成的浪费。如今Android 发展日趋成熟,Material Design 是个非常有意义的指导规范,好的平台就需要让从业者能更高效率和质量地完成开发。
在2014 年受博文视点编辑张春雨之邀完成本书第一版本的翻译之后,我又在2015 年完成了本书第二版本的翻译工作。本书最大的特色在于同其他类似的开发工具书相比,它更全面地介绍了开发一款应用时,在产品经理的角度进行技术准备之前的各种业务分析,从思维导图落地到原型设计的精彩案例。这些案例让技术人员从一开始就明确设计的准则——不是为了开发而开发,而是为目标而开发;同时,在体验设计表现层的视觉上,更全面地介绍了界面视觉的基础知识,让我们的读者站在技术和艺术的交叉线上,达到比普通应用开发更高阶的品质和体验。附录的市场推广技巧介绍了国外的应用市场,同样,在中国国内也有很好的借鉴意义;在本书的后面部分作者也总结了很好的开发技巧的内容,这对开发者来说是难得的经验积累。总之本书对于有Android 基础、但对产品基础和设计感觉还不够深入的开发者是非常受用的。
在第二版的翻译中,我获得了两位朋友的全力帮助:
李平霞,资深移动端交互设计师,毕业于北京理工大学的设计艺术学硕士,执着于最好的用户体验,熟
悉各类设计规范,让本书在体验设计层面精准还原了作者的规范意图和MaterialDesign 的规范内涵。
张鸿昊,毕业于东北大学计算机专业,经历了丰富的Android 开发工作,作为本书的技术校对专员,他支持了本书所有的代码审查,翻译难点攻坚。张鸿昊始终相信帮助他人是收获快乐的重要途径,非常兴奋地投入到本书的翻译工作中。
得益于两位的倾力投入,本书才能顺利、快速地呈现给各位读者,在此,我对两位朋友的支持表示深深的感谢!
前言
Android 的发展速度惊人,任何开发人员都难以紧跟它的发展变化。尽管我们可以尽力了解Android 最新的特征和API 的变化,却非常容易忽略设计方面发生的变化。Google 发布的Material Design 指南也让那些长期未关注Android 视觉的设计师们开始重视起来。
当下最重要的是开发人员要采取一些可行的方法来理解设计的核心要素以及Material Design 指南。要是没有多年的设计背景,你要弄清楚这一切也有一定的困难。这本书将引导你经历真实的设计过程,从一个抽象的概念或纸面草图开始,直到最终的实现,方法会涵盖动画、RenderScript 和自定义view。目的就是保证你可以接触到Android 的每一个核心概念,而且尽量涵盖足够多的内容,保证你能更有效地与设计师沟通,甚至自己创作一切。
设计有很多目标,但最重要的两点是可用性和视觉吸引力。你希望新用户进入你的应用后毫不费力地就开始使用,这是因为移动用户比其他任何平台的用户更没有耐心。用户需要确切地知道自己能与什么交互,并且不用全神贯注就能立刻实现需求。那就意味这你必须知道平台约定是什么,以便能够利用上养成的习惯。
如果你已经拿起了这本书,那我无需强调设计是何等重要。你懂的!你发誓一定要做出漂亮且令人体验愉快的应用。
这本书将作为一个完整设计和实现流程的教程,也是你可以不断重复使用的参考资料。你将了解如何与设计师或其他开发人员进行沟通,最终做出最好的应用。你会让应用充满视觉吸引,同时还能在最后关头轻松改变必要的设计需求。
最后,设计师和开发人员都希望开发的应用能惊艳众人,而我会无比兴奋地告诉你如何让惊艳成真。
——Ian G.Clifton
致谢
你可能以为编写这本书的第二版会比第一版简单,但技术和设计的趋势变化太快,以致于你发现90% 都得重写,多亏有了援助。感谢责任编辑Laura Lewin,重构这本书时,起初我在某些章节的深度上并没计划投入太多精力,他再一次将我拉回了正轨。编辑助理Olivia Basegio 记录所有改动的地方,包括在网上的粗略剪辑,以便感兴趣的读者能够扫一眼便知这本书有了提升。Songlin Qiu 再次担任本书的策划编辑,他设法理解我半夜写的章节草稿。我非常感谢所有技术评审,他们的反馈对本书的质量起到了很重要的作用,感谢Adam Porter、Cameron Banga和Joshua Jamison。
序言
本书读者
这本书主要是为那些想更好地理解Android 用户界面的开发者们准备的。为了聚焦在Android 用户界面设计的重要主题上,本书假定你已经对Android 有一个基本的了解。阅读本书之前你至少应该做出一个“Hello,World”的Android 应用,亦或是设定你的电脑为开发状态(Android 开发网站是一个初学者好去处,网址为http://developer.android.com/training/basics/firstapp/index.html)。
大多数开发者对设计体验的认识有限,甚至是没有,因此本书并未假设你能理解设计。无论何时设计主题都是重要的,例如选择颜色。本书将教会你这些基础的概念,使得你在做决定时不仅有信心,还能知道为什么要做那些决定。
本书组织架构
本书分为3 部分。第1 部分,Android 用户界面基础,在读者深入到创建Android界面的具体类之前,提供了Android 用户界面的概要和趋势。同时这部分也包括图形和资源的使用。第2 部分,完整的设计和开发过程,反映了应用开发的各个阶段,始于想法和目标,继而完成框架和雏形,然后是开发完整的应用,包括高效布局、动画等。第3 部分,Android 用户界面的高级应用篇,探索了更加复杂的方式,包括应用Systrace 来排除用户界面性能的故障以及通过操作绘图、滑动、保存状态来创建自定义view。
本书还有2 个附录。附录A 重点讲述Google Play 的资源文件准备(包含与在Amazon 应用商店准备时的差异),需要深入研究应用的图标创作。附录B 涵盖了很多用户界面相关的常见任务,这些任务值得了解但不一定普遍适用(比如自定义view 属性)。
本书自始至终将重点放在简单和清晰的实现方式上。你不必担心会埋头苦干于类似OpenGL 中3D 矩阵变换之类的复杂话题。相反,你会学到如何创建流畅的动画,将PorterDuff 混合模式添加到自定义view,以及有效地与触摸事件工作。涉及到的极少的数学知识将被拆解,变得极为简单,以至于你几乎意识不到会用上数学知识。另外,图例让最复杂的例子变得格外清楚,并且每个例子都很实用。
如何使用本书
在深入更具体、更高级的主题之前,本书以一个极宽泛的概述开始。因此希望你按章节顺序阅读,但本书被组织得尽量简单。即使你是一个高级开发者,阅读所有的章节也是个不错的主意,因为本书涉及了众多领域。当然,也可以直接跳到你最感兴趣的主题。例如,如果你只想关注创建自定义view,请直接跳到第12 章,开发完全自定义的view。
本书站点
你可以在http://github.com/lanGClifton/auid2 以及出版社网站http://informit.com/store/android-user-interface-design-implementing-material-9780134191409 上找到本书示例的源代码。在这些网站中,你可以复制整个资源库、下载完整的ZIP 文件,还可以浏览个人文件。
本书约定
本书使用了在大多数编程书中都可以找到的典型示例。例如,代码术语(例如类的名称和关键词)用等宽(monospace)字体显示。当某类被专门指代(例如,“你的类应扩展了View 类”),则用英文monospace 字体。如果它经常使用(例如,“当开发一个view 时,记得在一个真机上测试”),则不会用到专门的字体。
有时当一行编码太长而不能在本书中打印成一行时,会用一种代码的连续箭头(?)表示连续。
有时你还会看到一些展示有用信息的旁白,它没有被写入正文中。
注意
像这样的注意是为了提供你也许认为有用的其他信息,作为书中的补充材料。
提示
提示就像这样,在具体的话题中给你建议。
警告
潜在数据丢失或安全问题 警告就像这样,目的是要你注意到可能遇到的潜在问题或应该留意的点。
有够贵的