您所在的位置: 首页>>读书频道>>设计开发>>其它开发>>

1.2.3 RWC与RIA之争

http://book.51cto.com  2008-03-19 16:34  周爱民  电子工业出版社  我要评论(0)

1.2.3  RWC与RIA之争

追溯RWC的历史,就需要从“动态网页(DHTML,Dynamic HTML)”说起。

在1997年10月发布的IE 4中,微软提供了JScript 3,这包括当时刚刚发布的ECMAScript Editon 1,以及尚未发布的JavaScript 1.3的很多特性。最重要的是,微软颇有创见地将CSS、HTML与JavaScript技术集成起来,提出了DHTML开发模型(Dynamic HTML Model),这使得几乎所有的网页都开始倾向于“动态(Dynamic)”起来。

在开始,人们还很小心地使用着脚本语言,但当微软用IE 4在浏览器市场击败网景之后,很多人发现:没有必要为10%的人去多写90%的代码。因此,“兼容”和“标准”变得不再重要。于是DHTML成了网页开发的事实标准,以致于后来由W3C提出的DOM(Document Object Model)在很长一个阶段中都没有产生任何影响。

这时,成熟的网页制作模式,使得一部分人热衷于创建更有表现能力和实用价值的网页,他们把这样的浏览器和页面叫做“Rich Web Client”,简称RWC。Rich Web的概念产于何时已经不可考,但Erik Arvidsson一定是这其中的先行者。他拥有一个知名的个人网站WebFX(http://webfx.eae.net/),从1997开始,在WebFX上公布他关于浏览器上开发体验的文章和代码。他可能是最早通过JavaScript+DHTML实现menu、tree及tooltip的人。1998年末,他就已经在个人网站上实现了一个著名的WebFX Dynamic WebBoard(见图1-3)。这套界面完整地模仿了Outlook,因而是在Rich Web Client上实现类Windows界面的经典之作。

图1-3  WebFX Dynamic WebBoard的仿Outlook界面

而在这时盛行的Flash也需要一种脚本语言来表现动态的矢量图形。因此,Macromedia很自然地在Flash 2中开始加入一种名为Action的脚本支持。在Flash 3时,该脚本参考了JavaScript的实现,变得更为强大。随后Macromedia又干脆以JavaScript作为底本完成了自己的ActionScript,并加入到Flash 5中。随着ActionScript被浏览器端开发人员逐渐接受,这种语言也日渐成熟,于是Macromedia开始提出自己的对“浏览器端开发”的理解。这就是有名的RIA(Rich Internet Application)。

这样一来,RIA与RWC分争“富浏览器客户端应用(Rich Web-client Application,RWA)”的市场的局面出现了——微软开始尝到自己种下的苦果:一方面它通过基于ActiveX技术的Flash赶走了Java Applet,另一方面却又使得Dreamweaver和Flash日渐坐大。实在是前门拒虎,后门进狼。微软用丢失网页编辑器和网页矢量图形事实标准的代价,换取了在开发工具(例如Virtual Studio .NET)和语言标准(例如CLS,Common Language Specification)方面的成功。而这个代价的直接表现之一,就是RIA对RWC的挑战。

RIA的优势非常明显,在Dreamweaver UltraDev 4.0发布之后,Macromedia成为网页编辑、开发类工具市场的领先者。而在服务器端,有基于Server Page思路的ColdFusion、优秀的J2EE应用服务器JRun和面向RIA模式的Flash组件环境Flex。这些构成了完整的B/S三层开发环境。然而似乎没有人能容忍Macromedia独享浏览器开发市场,并试图染指服务器端的局面,所以RIA没有得到足够的商业支持。另一方面,ActionScript也离JavaScript越来越远,既不受传统网页开发者的青睐,而对以设计人员为主体的Flash开发者来讲又设定了过高的门槛。

但RWC的状况则更加尴尬。因为JavaScript中尽管有非常丰富的、开放的网络资源,但却找不到一套兼容的、标准的开发库,也找不到一套规范的对象模型(DOM与DHTML纷争不断),甚至连一个统一的代码环境都不存在(没有严格规范的HOST环境)。

在RIA热捧浏览器上的Rich Application市场的同时,自由的开发者们则在近乎疯狂地挖掘CSS、HTML和DOM中的宝藏,试图从中寻找到RWC的出路。支持这一切的,是JavaScript 1.3~1.5,以及在W3C规范下逐渐成熟Web开发基础标准。而在这整个的过程中,RWC都只是一种没有实现的、与RIA的商业运作进行着持续抗争的理想而已。

【责任编辑:雪花 TEL:(010)68476606】

回书目   上一节   下一节
深入Vista应用程序开发
Ruby on Rails 社区网站开发
ASP.NET从入门到精通
Java完全自学宝典
JavaScript完全自学宝典
 
 验证码: (点击刷新验证码)   匿名发表
  • Visual C++ 完全自学宝典

  • 作者:强锋科技,朱洪波
  • Visual C++ 6.0是微软公司为程序人员提供的Visual Studio 6.0工具套件中的重要组成部分。本书由浅入深地介绍使用Visual C++ 6.0..
Copyright©2005-2008 51CTO.COM 版权所有