Live软件开发面面谈——界面

Posted starrow

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Live软件开发面面谈——界面相关的知识,希望对你有一定的参考价值。

第4章  界面

4.7  极简主义

至今我还清楚地记得1999年上大二时,开始一项那时刚刚兴起不久的时髦活动——上网。去遍地开花的网吧上一趟网,现在回想起来感觉就像女孩子上街逛一趟商场。点开桌面上蓝色的字母e(IE浏览器),就打开了传说中神秘的四通八达的互联网的大门。对我这样刚熟悉浏览器用法的新人,互联网也就意味着彼时颇为热门的几家大网站,其中之一是雅虎——集门户网站和搜索引擎于一身的网络巨头。我有时会用它首页上的搜索功能,因此注意到搜索界面边上有一行字:Powered by Google! 凭藉庞大的词汇量和对语法的深刻把握,我理解这句话的意涵,好奇雅虎这样一个著名的大网站,搜索功能竟然是由另一家公司提供的,于是点击该行文字的链接。打开的页面更让我大吃一惊,对,就是Google十八年前的主页。现代人如果穿越回去,在所有的网站中,最不会感到陌生的应该就是Google了,它和现在的主页几乎没什么两样,在Google彩色字母下,有一个长长的文本框和两个搜索按钮,其余几乎是一片空白。虽然当时不知道搜索引擎于互联网的重要性和Google在搜索领域的革命性突破,但这样一个极简的界面给我留下了深刻的印象。它不同于其他网站用文字和图片占满整个页面,而是清晰和强烈地告诉你,它只做一件事——搜索。Google作为当时新兴的搜索引擎公司,突出地强调自己领先同行的服务,也是唯一的服务,它的网站如此设计或许有这样充分和实用的理由,不过在Web发展了近二十年之后再回顾,Google网站无疑成为Web领域极简主义设计的先驱。

极简主义在计算机技术中并不是新生事物。早期的计算机硬件资源十分有限。最早一批的个人计算机配备的8位(8-bit)CPU,整个地址空间只有64KB,8或16KB的内存司空见惯,最常见的外部存储介质5.25英寸软盘的空间是100KB左右;著名的GNU Emacs文本编辑器因为要占用8MB左右的内存而被当时的人视为庞然大物。可想而知,在这样的环境下,程序员要如何尽力追求代码的简短和可执行文件的细小,简洁自然成为那个时代程序的风格,并且影响了包括Unix和GNU系列软件的设计理念。经历了个人计算机的廉价硬件和强大功能后,智能手机、平板电脑、上网本等移动计算设备刚出现时,CPU、图形芯片、内存、电池等硬件资源不如PC机,再次让俭省程序的功能和界面成为必要。以上讨论的极简主义多多少少都源于硬件的局限,是为满足硬件的状况“被迫”采取的风格,我们接下来更详细讨论的另一类极简主义却有着完全不同的驱动力和内涵。

4.7.1  用户界面上的极简主义

极简主义(Minimalism)是最近十余年来软件和Web设计领域最显著的潮流。极简主义的设计可以被描述成减少界面上用户当前不需要的内容、功能和元素,以达成的一种简洁、实用和美观的风格。对于风格的描述,抽象的定义往往不如直观的印象让人感受鲜明。现在极简主义的网站和软件随处可见,那些让人眼前一亮的外观上简洁美观、操作上直观方便的应用在设计时都有意无意地采用了极简主义的理念。对用户来说,所谓极简主义主要是体现为一种简洁的感受,而简洁与其他一切比较性质的形容词一样,都有相对的另一极。简洁对应的就是繁杂,极简主义对应的是有时被称为极繁主义(Maximalism)的风格。实际上,如果没有见识过本世纪初网站的普遍风格,对现在的极简主义体会也就不会那么深。彼时的网页通常被链接、文字、静态图片、动态图片、漂浮图片、Flash挤得满满当当,还不时有弹出窗口和动画,页面用色大胆而喧闹,各种亮色调争奇斗艳,将中国传统的菜市场和香港闹市夜间摩肩接踵的霓虹灯箱糅合在一起就与这种风格相差不远。网页的设计者似乎觉得要在一个屏幕上将尽可能多的信息呈现给访客才算负责,同时他们和广告商又想一展十八般武艺,用各种吸引眼球的手段来争取访客的注意力。不知不觉间,风潮开始转变。也许网民对拥挤、嘈杂和侵入性的风格之反应和不满传递到设计者那里,也许经历了初时的兴奋后网页的设计者开始像其他领域的设计者一样注意到简约带来的美感,也许是极简主义的先驱者的示范作用,也许移动计算设备的小屏幕对传统的设计不堪重负……网站、Web应用、软件、操作系统都开始跟随新的潮流。

作为一种外观上的风格,软件用户界面的极简主义设计源于二战后首先在美术、建筑和工业设计等领域兴起的风潮。各种形式的作品显示出一些共同的特点:单色调、几何图形、规则的布局等等。建筑师Ludwig Mies van der Rohe直截了当的口号“Less is more”大概是极简主义最有名的宣言。但比起这种禅宗式的格言,一个更具操作性的实践原则是“Subtract it till it breaks”,即一直删减下去,直到出问题;换句话说,除非一样东西不在时会导致整体出问题,就应该把它去掉。

4.1  以用户界面为中心 VS 以业务逻辑为中心
4.2  设计视图 VS 源代码视图
4.3  自定义控件 VS 复合控件
4.4  命令式语言 VS 声明式语言
4.5  内容与外观的分离
4.6  基于请求的框架 VS 基于组件的框架
4.7  极简主义
4.7.1  用户界面上的极简主义
4.7.2  删减的对象
4.7.3  方法和特征
4.7.4  防止过度

更多内容,请参看拙著:

《Live软件开发面面谈》(京东)

《Live软件开发面面谈》(当当)

《Live软件开发面面谈》(天猫)

开发者涨薪指南 48位大咖的思考法则、工作方式、逻辑体系

以上是关于Live软件开发面面谈——界面的主要内容,如果未能解决你的问题,请参考以下文章

Live软件开发面面谈——事件

Live软件开发面面谈——MVC

拿来主义当我们谈WEB缓存的时候,我们在谈些什么?

live制作软件mac混响怎么使用

如何实现界面布局中的“极简主义”?

javamp4转live