活动首页
邀请函
开源社区介绍
媒体报导
精彩图片
 
Ajax,只是一种过渡技术 <<返回首页
 

  现在互联网上比较火热的话题当然是关于WEB2.0的应用,其中Ajax又是WEB2.0的核心之一。Ajax是Asynchronous JavaScript and XML 的缩写。它并不是一门新的语言或技术,它实际上是几项技术按一定的方式组合起来,在共同的协作中发挥各自的作用,包括:使用XHTML和CSS标准化呈现;使用DOM实现动态显示和交互;使用XML和XSLT进行数据交换与处理;使用XML Http Request进行异步数据读取;最后用JavaScript绑定和处理所有数据。

  Ajax的工作原理相当于在用户和服务器之间加了-个中间层,使用户操作与服务器响应异步化。这样把以前的一些服务器负担的工作转嫁到客户端,利于客户端闲置的处理能力来处理,减轻服务器和带宽的负担,从而达到节约ISP的空间及带宽租用成本的目的。

  异步请求/响应是Ajax与传统开发方式最大的差别,异步带来了更好的交互设计。在《Ajax in Action》中作者举了一个令人信服的例子:Google Maps中当用户滚动地图时,获取新的地图图片,由于是异步请求的,因此不会打断用户的操作流程;而在传统的地图服务,每次滚动可能都需要刷新页面。用一下微软的地图服务就可以感觉到明显的差距,它甚至根本就不允许用户滚动地图。

  JSF的设计思路有点模仿VB,组件化的开发这个方向是没错的,Ajax开发将来也会走这条路。但是JSF与VB最大的差别是VB的事件模型都是位于本地来处理的。这是一种本质上的差别,所以如果JSF确实想模仿VB,那也是东施效颦。而且在JSF的设计阶段,同步的请求/响应是主流,他们的思路仍然牢牢束缚在基于页面的开发方式上。根本就没有思考过其他的可能。

  JSF其实如果和Applet结合,可能更好些。Applet是多线程的,可以捕获用户的操作事件,采用异步方式发送到服务器。这样就不会打断用户的操作了。但是这样一来设计的这个架构就复杂了。而且Applet是已经决定抛弃的东西。JSF和Java Web Start结合也可以,不过JWS设计用来建造一类完全不同的Web应用,即Rich Client,而不是设计用来建造运行于浏览器之内的RIA应用。

   
 
深圳市金蝶中间件有限公司版权所有 © 2001-2006