Dojo是最老的框架之一,于2004年9月开始开发。这个项目的目标是建立充分利用XHR的DHTML工具包,并把重心放在可用性问题上。Dojo只有几个文件,不用处理XHR的建立,只需调用bind方法,并传入想调用的URL和回调方法即可。就这么简单。还可以使用bind方法来提交整个表单。
Dojo有一个特性使它独树一帜,这就是它支持向后和向前按钮。尽管这个特性不一定在每个浏览器上都能用(遗憾的是,Safari就是一个异类),但你确实可以注册一个回调方法,在用户点击了向后按钮或向前按钮时触发这个方法。Dojo还提供了changeURL标记,力图解决使用Ajax所固有的书签问题。
Dojo看上去是相对成熟的工具包之一,它把重点放在可用性上,这一点很不错。Dojo表现得相当稳定,在它身后还有一些支撑力量。Dojo的邮件列表相当活跃,多看一些文档可能更有帮助。
TIBET
你觉得Ajax最早是什么时候出现的?根据对此的解释,也许会认为TIBET可能是现存最老的框架。根据文档所述,TIBET小组从1997年就开始开发这个工具包,他们的目标是提供企业级Ajax支持。TIBET看上去不只是包装了XMLHttpRequest对象,它还对Web服务和底层协议提供了支持,并且提供了Google、Amazon和许多其他常用服务的预置包装器。
真正让TIBET卓而不群的是,它有一个完全交互式的基于浏览器的IDE,这能大大简化开发、调试和单元测试。 在Ajax之前,Flash很是风行,很多Web网站都建立在Flash平台上。那些曾对Flash狠下一番功夫的人不想完全放弃Flash,利用这个开源项目就能同时利用Ajax技术。这个工具包在所有主要浏览器上都能用,使得JavaScript能够调用ActionScript,ActionScript也能调用JavaScript。可以来回传递大量对象,包括日期、串和数组。
Flash/JavaScript集成包的安装涉及一些JavaScript文件,以及两个用于Flash的库函数。从页面上调用ActionScript函数只需几行代码而已。有关的文档相当少,不过,如果你想使用Ajax访问Flash,这个工具包就很值得研究。 基于Google Maps的工作,Google AJAXSLT是使用XPath的XSL转换(XSLT)的JavaScript实现。XSLT可以把XML文档转换为其他语言,如HTML。AJAXSLT允许使用JavaScript在浏览器上直接完成这些转换。
Google AJAXSLT在所有主要浏览器上都能工作,它是在BSD许可证下发布的。这个工具包很小,包括几个JavaScript文件,还有一些方便的测试页。Google AJAXSLT不是十全十美的,不过,如果Google Suggest有所提示,我们希望Google AJAXSLT的缺点能很快解决。因为Google是最先使用Ajax的网站之一,我们会很有兴致地看到在未来几个月它还会有所增加。 libXmlRequest框架也是比较老的一个框架,早在2003年就已经发布了。这个框架包括一个JavaScript文件,它相当于XMLHttpRequest对象的一个包装器,提供了两个重载的请求函数:getXml和postXml。另外,它有一些处理缓冲池和缓存的属性,还有一些工具函数处理常见的任务,如解析来自服务器的XML以及修改DOM。
这个工具包能在哪些浏览器上运行,这一点还不是很清楚,而且有关的文档相当少。这个工具包版权归其作者Stephen W. Cote所有,其中没有提到许可问题。因此,只能用它帮助你产生灵感。 SACK(简单Ajax代码包)开发为一个瘦包装器,包装了XMLHttpRequest对象。其作者Gregory Wild-Smith认为,其他的许多框架太过复杂,而且做了许多本不该它们完成的任务。所以他创建了SACK来简化Ajax的开发。SACK包括几个可以简化服务器调用的方法。比起具体创建适当的XMLHttpRequest对象实例来说,用更少的代码就能向服务器发送数据,并处理响应。
SACK由一个JavaScript文件组成,其中包含很少的代码。SACK底层软件的发布得到了修改X11许可(也称为MIT许可),与大多数开源项目一样,它的文档并不多,不过,入门肯定还是绰绰有余的。SACK的真正强大之处在于它的简单性,如果你要找的是一个基本包装器,可以试试SACK。 sarissa有一点是Ajax做不到的,它以一种独立于浏览器的方式对XML API提供了包装支持。利用这个框架,创建和使用XMLHttpRequest对象实在是小菜一碟(不用检查浏览器,它已经为你处理好了)。另外,sarissa还对使用DOM提供了支持。类似于Google AJAXSLT,sarissa也支持XSLT,它模拟了IE上的Mozilla处理器。
sarissa只包括几个类,在GPL协议下发布。Mozilla/Firefox和IE都充分支持sarissa,只在Opera、Konqueror和Safari浏览器上有些函数不能用。 XHConn类似于SACK,它相当于XMLHttpRequest对象的一个简单包装器。你不用直接使用XMLHttpRequest对象,只需首先启动一个XHConn实例,与使用XHR同样的方法加以处理。也就是说,无需浏览器检查,并提供了一种简单的方法来确定浏览器是否支持XHR(这对于需要妥善降级的网站尤其方便)。
XHConn在Safari、IE、Mozilla、Firefox和Opera上都能工作。类似于大多数Ajax框架,这是一个开源实现,在Creative Commons License协议下发布。XHConn是一个代码不多的文件,不过它确实做到了该做的事情——简化Ajax。 设计思想
简洁的思想:几乎所有操作都是以选择DOM元素(有强大的Selector)开始,然后是对其的操作(Chaining等特性)。
优点
小,压缩后代码只有20多k(无压缩代码94k)。
Selector和DOM操作的方便:jQuery的Selector与mootools的Element.Selectors.js比较,CSS Selector, XPath Selector(1.2后已删除)
Chaining:总是返回一个jQuery对象,可以连续操作。
文档的完整,易用性(每个API都有完整的例子,这是其它框架现在不能比的),而且网上还有很多其它的文档,书籍。
应用的广泛,包括google code也使用了jQuery。