五、AJAX

 

AJAX的迅速流行给我们最大的启发是什么?就是取一个好名字的重要性!AJAX不是一种技术,而是对浏览器多种技术综合用法的称呼。在AJAX这个名称出现之前,开发人员已经在使用这些技术,只不过没有一个统一的称呼。AJAX是在一年前(2005年2月18日)的这篇文章 “Ajax: A new approach to web applications” 中提出的,今天刚好是它一周岁,生日快乐!

 

Web应用跟普通客户端应用的最大不同是什么,就是它的响应方式是同步的页面跳转,在这个页面跳转发生的时候用户什么都做不了,只能看着鼠标漏斗慢慢旋转。而随着Google Map、Google Gmail这些应用的出现,改变了人们对Web应用的认识——Web应用无需页面跳转,也可以达到更新界面的效果了。其实早在各种论坛的动态树形结构出现的时候,就具备了这些技术,不过还是等到Google出手,才吸引了足够的眼光。

 

AJAX主要由以下技术组成:

1、采用XHTML, DOM实现动态显示

2、采用XMLHttpRequest实现异步的数据获取

3、采用XML来传送数据。但这个不是强制的。

3、用Java Script控制这一切

 

目前在Open Source方面有许多Ajax Framework,我在对Ajax有所了解后,主要关注以下部分的技术:

1、浏览器与服务器交互

第一个问题是,服务器返回数据还是界面?如果服务器返回界面(也就是HTML)的话,浏览器的工作非常简单,直接用所得的HTML替换相应部分即可。如果传送数据回来,因为浏览器一端的语言是Java Script,必然要考虑如何让JavaScript方便操作。一种做法是采用XML方式;另外一种做法是将传送回来的数据转换成JavaScript对象。我个人的看法是采用XML方式,对服务器一端更加方便,要求最低;而换成JavaScript对象则方面客户端操作,因此最好将两者结合起来,只是不知道性能上有多大影响。

 

第二个问题是,客户端调用与服务器对象的对应关系。XMLHttpRequest对服务器的定位采用URL方式,这无论是对客户端还是服务器都是不方便的,最好有一种方式能够将客户端的对象与服务器的对象关联起来,就向Remote EJB一样,在客户端有一个句柄操作,开发人员完全不用关心传送细节。

 

2、浏览器的GUI Framework

JavaScript+DOM的威力早在两年前看到用JavaScript完成的星级争霸就深刻领略到,网上还有很多用浏览器模拟多窗口系统的架构。不过对比其他GUI Framework,例如VB、Delphi等,能够有效提高生产效率的JavaScript+DOM似乎还没有出现。

 

而且我在想有没有可能将XHTML、DOM等技术作为底层技术,提供一个框架来封装他们。就像Windows编程最早采用Win32 API,后来用OWL、MFC一样。

 

在Mozillia随着Firefox推出XUL技术、微软提出XAML后,所谓Rich Internet Application的讨论很是火热了一阵子,现在AJAX的火爆,同样也说明了人们对更好用户体验的Web应用的渴望。与其他技术所不同的是,AJAX完全基于现有的浏览器技术,也就是说仅仅依赖现有的浏览器,我们就能获得Rich Internet Application。它可以胜任大部分类型的应用(除了Photoshop这类重型客户端应用),而只需要一个浏览器。

 

所以我非常看好AJAX。除了微软之外,许多公司都在寻找这样一种环境——与操作系统无关,轻量级,运行大部分程序——AJAX提供了这种可能。目前能够体现AJAX优势的应用不断出现,但我更加希望看到一个Killer Framework,甚至是Killer IDE的出现。

 

(完)


4条评论

  1. 刚才冒了一下头,看你忙碌,就没骚扰你,原来这也是你的政治任务呀?我终于看到这个文章完了,但我感觉有意尤未尽的感觉,或者说……,嘿嘿,不说了:o)

  2. To:兔八哥

    这可不是我的政治任务,这几篇小文章只是为了整理自己的思想。从我的角度来看,Spring、WebWork跟Struts差不多,这个在文章中已经提到。所以没有兴趣研究下去,研究这个太花时间了。

  3. 为了防止你因为猜我省略的下文睡不好觉,还是回来说完,我觉得你还没有分析Spring和WebWork这2个现在最热门的框架,这篇文章就完了,你还应改继续写下去.

    对了,尽管不是政治任务,你也要尽快把Portal和EAI方面的东西写完呀,,全村的老少爷们都憋死了,哈哈:o)

  4. 对于不甚熟悉JavaScript,而熟悉Java的我来说,起码现在可以轻而易举的步入Ajax世界了 :D

发表评论

评论也有版权!

click to change验证码