主流Ajax框架介绍

现在的网站开发不同以往,越来越漂亮,越来越强大,也越来越讲究用户体验,Ajax、jquery正式因此而兴起的,建立在基础上的框架自然也就越来越多。那么这么多框架我们如何选择呢?我今天就为大家介绍下。(整理于其他人的一篇文章)

1.  Prototype

Prototype是最受欢迎的AJAX框架之一。Ajaxian.com网站2006年的调查结果显示,Prototype同框架规模庞大的Yahoo! User Interface, Google Web Toolkit, and Atlas.等相比较起来,其排名竟然遥遥领先,这不能不令人感到惊异。

答案很简单:Prototype使用起来就像是对于JavaScript语言的自然扩展。尝试过Prototype框架后,笔者几乎坚信Prototype框架应该被纳入JavaScript语言。

Prototype框架紧凑、强大并且设计合理。通过Ajax对象建立与服务器端的交互。Ajax.Request对象是对于XMLHTTPRequest对象的跨浏览器抽象,可向服务器端发送普通请求或者异步请求。当调用请求结束时,Ajax.Request对象把回调函数的名字作为参数返回。

Prototype的使用,请见http://www.cnblogs.com/gfyh/archive/2010/03/12/1684532.html

 

2.  Dojo

Dojo是一种颇受欢迎的开源框架,对于web界面工具集和web开发中与后端系统间交互等诸多重要方面提供广泛的支持。在各种工具中,有些可直接用来渲染呼叫用户列表(Dojo使用手册中这部分的文档不完整),其它像多选列表项的异步调用等则需要作进一步定制工作。

Dojo界面工具的定制需要深入了解Dojo的底层。Dojo的定制机制非常灵活,通晓javascript语言并且对于Dojo框架的细节了如指掌。定制的可能性是无限的。

对于多个后端异步调用的实现,采用了dojo.io.bind对象。Bind对象可实现对后端资源的调用并将结果返回给回调对象。Dojo的类和扩展模型相当复杂,而Bind对象和回调对象的模型则更容易理解和使用,性能也不错。

Dojo的使用,请见http://www.ibm.com/developerworks/cn/web/wa-lo-dojointro2/index.html

 

3.  DWR

DWR (Direct Web Remoting) 同上述的框架性质上完全不同。DWR的重点是浏览器/服务器的交互。DWR框架的大部分API函数也是针对这种交互的。DWR是基于java的框架,最适用于后端运行java应用的情况。

因为这些特性,DWR为开发呼叫中心应用提供了一种有趣的途径。这种方法不再使用AJAX控制从服务器返回的文本信息,而是使用javascript调用DWR框架的远程异步对象。实现起来很简单:通过在浏览器端的JavaScript构造和调用相关JAVA对象。这样就通过优雅而简洁的方式完成了客户端和服务器端的集成。

尽管不如Dojo的框架复杂精细,也不如Prototype与JavaScript的集成度高,DWR却提供了颇具吸引力的与服务端的集成方式。在与服务器端Java应用的集成方面,DWR做得最好。

DWR的使用,请见http://blog.csdn.net/wangpeng047/article/details/6953307

 

4.  Google Web Toolkit

GWT的开发理念同其它几个框架完全不同。GWT是完全基于Java的开发框架,所有的Web组件采用Java编写,然后编译成具有AJAX功能的web页面。因为笔者是多年的java 程序员,所以对这种相对新奇的方式使用起来感觉相当自如。但是如果不熟悉Java开发,或需要对于从Java到Web的编译过程有更细致的控制,则会遇到困难。然而,GWT框架非常易用,只要补充一些Java语言技巧就可以开始用GWT了.

对于Java程序员来说,GWT生成Web内容的功能是神奇的(虽然存在少许限制)。典型的Web开发人员偏好对于应用生成的web内容有足够多的控制,而GWT只提供了非常有限的控制方法。例如,案例中使用了com.google.gwt.user.client.ui.HorizontalPanel 设计页面布局。这种Swing风格对于Java开发非常方便,适用于不同的浏览器。然而,若要细致地调整表现层的效果,则需跳出Java的规范,直接通过样式定义来微调输出结果。尽管这种做法很合理,却超出了GWT的Java-only方式。

GWT的使用,请见http://www.ibm.com/developerworks/cn/java/j-lo-gwt-dev/index.html

你可能感兴趣的:(JavaScript,框架,prototype,DWR,dojo,ajax框架)