记得刚入行的时候,B/S和C/S还在纠结。很多项目初期,都不得去考虑,便利性,通用性,高性能,友好界面几个方面的平衡。就因为当时有些方面是矛盾的。比如你要通用性高,当然Browser是合适的,但是友好界面,复杂功能方面就不得不让步。
就这样,还是有很多公司开发出基于ActiveX的一套复杂界面系统。但是开发的复杂度,移植难度高等问题,导致这些一般都只应用于公司内部的系统上。因为这时候强加一些前提条件是比较容易的。
前几年,终于Ajax刮起了旋风,也带了Web 2.0的革命观点。我认为Ajax并不是某种新的发明。而是外部条件改善的使然。个人机器越拉越先进,浏览器能够支持的功能越来越强大(HTML 5.0也快来了),网络也越来越快。所有之前制约JS更一步发挥的障碍都迎刃而解。之前就是半死不活的,Java Applet什么的也彻底死去。除了Ajax的新瓶装旧酒,本来一直独秀的Flash也开始躁动不安,连续推出Flex的开发平台,Microsoft的SilverLight也开始分食RIA的一块蛋糕。最近看到Oracle Java Fx也在这方面努力。
于是,我们的网络变得异彩纷呈,以前我们认为浏览器绝对实现不了的,都成为了绚烂的现实。这其中,Google的发挥简直是如鱼得水,而且也为Ajax社区贡献了大量代码。
而产业界呢。我觉得还是相对滞后的,Ajax固然是在用,但是很多设计方式,还停留在web 1.0的状态。以前的项目,一般是设计者做一个粗糙的Design,然后美工和开发者分头去工作,最后合成一个成品。这种模式之所以能高效的运行,是因为粗糙的HTML(甚至一个通常的草图都足够了),已经能为专业的程序员提供必需的布局,而粗糙的HTML的开发又是如此的迅速和低廉。可是web2.0已经不能把领域分得如此泾渭分明。要么粗糙的HTML已经把实际的UI界面集成,要么加上文字说明,让程序员开发的时候完善UI。这都势必要求,要么设计者成为设计+JS构思,要么程序员成为 后台程序+前台JS设计。如果缺少那些两个领域都熟悉的人才,最后的结果就只能是,想得很美但是实现不了,抑或是有更美更简单的却闭门造车。于是乎,在设计和开发两个领域之外,还需要另外一种专业的,跨领域的视觉设计开发工程师。
这让我想到一个公司,eico设计公司。他的视觉设计常常会颠覆之前所能想象的极限。他为魅族设计的手机界面,在我看来一点都不必iPhone的差。
我不认为所有的网络都需要RIA,但是如果是希望通过RIA取胜的网站,除了传统的业务设计,美工,程序开发以外,一个跨领域的视觉设计团队也是至关重要的。