Web应用、桌面应用、移动设备三大UI界面设计的应用。
可以这样说,操作系统是桌面用户界面设计的领头军,换言之,UI设计师在进行桌面UI设计时,首先应该考虑的就是操作系统环境。而往往,某个特定软件环境下的桌面应用,UI也是有诸多限制的,这个限制,就是系统固有的交互风格设定。举例来说,我们经常会在看到某一软件界面后这样说“哇,还是Mac风格的好看!”“这个是用.Net开发的吧”“Swing做的破东西太难看了,还贼慢”,为什么会出现这样的情况呢?因为,大多数情况下,我们在某个操作系统环境下进行软件的设计与开发,其组件和控件必然会不可避免的使用操作系统自身提供的UI API,也就是说,无论你做什么样的软件,都需要遵从相关操作系统用户界面的开发规范。Windows有个Offcial Reference,在MSDN上。同样的,Apple,Java乃至Nokia,他们都有相应的长篇累牍的API文档和开发规范。那么,这里又不得不提到了Ext,Ext的API文档是什么?呵呵,它与以上这些操作系统的GUI规范无异,它的API文档就是它的开发规范。所以,我曾经这样讲“Ext再怎么折腾,也是Ext”,现在各位应该真正了解我的意思了吧。Ext在我看来,已经不是Web UI了,我更倾向于把它归结为桌面UI的Windows系列内。桌面UI有个最基本的衡量标准WIMP(window、icon、menu、pointer),很明显的,Ext是桌面UI风格。而它的交互方式和Windows如出一辙,因此,我把它定位为基于浏览器的、Windows风格的桌面UI库。
总结一下,桌面应用的常见布局,就是:多为框架结构,由Grid、Toolbar、Menu、Form、Icon等控件构成。
再来看一下Web应用,我曾不止一次的提到这样一个观点,那就是,Web是自由且开放的。正因为其开放性,才有了今天的Ext、Ajax以及Thin Client和Rich Client之争。Web设计到底应该是怎样的?这个没有定论,因为Web是大家的Web,存在即合理。Web设计,最应该考虑的就是“设计的上下文”,在一个完全开放的平台上进行设计,就如同在一张白纸上作画。最大的限制不是技术,而是设计师本身。只有设计师能够决定自己的设计究竟该如何去做,同样,也只有他的能力会限制自己的设计。结合上下文关系,如果你开发的是Web mail程序,对于多年使用Outlook已经形成根深蒂固的使用习惯的用户来说,你要如何做这样的界面设计?开发一个全新的无人触及的新奇东东么?不,那背离了设计的人本本质,所以,满足用户最简单的办法就是,在Web上设计开发一个与Outlook风格和外观类似的应用,让用户完全没有压力,在熟悉地环境下高效的开展自己的工作。那么,如果你要开发的是一个新闻发布系统,自然就要符合用户对于Web的既定认识和习惯,把应用设计得如同报纸、杂志一般,并且提供良好的内容分类和搜索,以期让用户很容易的找到自己想要的资源,在最短的时间内获取更多有价值的信息(RSS和Portal都是因此而产生的)。再比如,你要设计开发的是一款信息管理系统,那么,很可能高效方便的增删改功能和强大的报表、查询系统,才是UI设计首先需要考虑的(桌面风格的UI很适合做此类应用)。又或者,你要开发一个体现出业务流程性的庞大复杂的行业应用,那么,体现出行业解决方案的高度概念性和软件对于业务流程的规范和指导作用,这是在设计UI时主要需要考虑的。而所有这些,在Web上统统可以实现,这要归功于Ajax,归功于全世界的开发者和设计师的共同努力。
总结一下,Web界面的常用布局——如果说到传统,那么,自然是平板式的文本流(Web在设计之初就是为了研究人员之间文档的共享和查看)。但是,Web发展到今天,我真的不知道该如何去总结它的布局风格了。只能说,常见的有:Banner-navi-content布局(多见于网站和多数Web应用),左右框架式布局(常见于基于内容和数据维护的Web应用)、Portal布局(企业Portal或门户)等等。
最后,说一下移动设备的用户界面。典型的就是手机上的应用软件,颜色和尺寸以及图形处理性能是其最主要的限制。基本上,在各个平台上开发应用程序,都要遵从平台的开发指南和规范,而风格大致也都是与操作系统本身一致的,再此不作赘述了。其实,之所以单独提一下移动设备,是因为某些行业软件还需要考虑PDA和手机用户的需要,这也成为我们在设计风格定位和技术选型上的一个制约条件。