AJAX的三种框架的比较和使用

DWR、YUI、GWT区别和使用

这几个框架都是比较通用的,现在分别介绍他们的使用方法,并从中了解他们的区别和作用:

1、DWR — 令人激动的服务器端集成
DWR (Direct Web Remoting) 的重点是浏览器/服务器的交互。DWR框架的大部分API函数也是针对这种交互的。

DWR是基于java的框架,最适用于后端运行java应用的情况。
因为这些特性,DWR为开发请求中心应用提供了一种有趣的途径。这种方法不再使用AJAX控制从服务器返回的文本信息,而是使用javascript调用DWR框架的远程异步对象。实现起来很简单:通过在浏览器端的JavaScript构造和调用PBX和相关JAVA对象。这样就通过优雅而简洁的方式来完成了客户端和服务器端的集成。
如下:
public class PBXService ...{
public String getCallerName(int callerNumber)...{
 ...
    }
}

而在html代码里,嵌入了使用PBXService对象和DWR引擎的JavaScript 方法。
<script type="text/javascript"
    src="ServiceProvider/dwr/interface/PBXService.js"> </script>
<script type="text/javascript"
    src="ServiceProvider/dwr/engine.js"> </script>
...

从JavaScript调用PBXService的方法如下:
PBXService.getCallerName(18003456700, processPBXResponse);
自定义的JavaScript方法processPBXResponse用来处理PBXService.getCallerName 方法的返回结果
尽管不如Dojo的框架复杂精细,也不如Prototype与JavaScript的集成度高,DWR却提供了颇具吸引力的与服务端的集成方式。在与服务器端Java应用的集成方面,DWR做得最好。

2、Yahoo UI (YUI) Toolkit ——争做第一流的框架
YUI 是一种性能稳定的、功能丰富多彩、文档完善的AJAX开发框架,是最早的被yahoo开发开放应用的。在测试的几个框架中,感觉YUI框架最具专业水准。
完整的请求呼叫中心应用由Yahoo工具集实现起来相当容易。列表和面板等展示层对象采用YUI的面板和对话框组件实现。对于后端PBX和账户查询系统的异步调用采用Yahoo ConnectorManager(连接管理器)和回调API函数实现。具体用法如下:
var pbxURL = ''http://<server>/ServiceProvider/acctService?callerName='' + callerName;
PbxCallback是JavaScript对象,定义如下:
var requestFromPBX = YAHOO.util.Connect.asyncRequest(''GET'', pbxUrl, pbxCallback);
var callback = {    
    success:handleSuccess,     
    failure: handleFailure
    argument: { callerName: "N/A" }
};
HandleSuccess 是常规的JavaScript函数,用来读取PBX服务器返回的结果。并发出以PBX系统返回的呼叫用户

名为参数的对于账户查询系统的调用。

var pbxURL = ''http://<server>/ServiceProvider/acctService?callerName='' + callerName;

var requestFromAcct = YAHOO.util.Connect.asyncRequest(''GET'', acctURL, acctCallba
一般来说,YUI工具箱简单、易用。YUI和其它框架比较起来要庞大得多,然而对框架比较熟悉后,用它开发基本上就是一个组装的过程:在界面上布置各种组件,然后使其协同运行。总体看来,这是个不错的框架。

3、Google Web Toolkit(GWT)--完全Java化
GWT的开发理念同其它几个框架完全不同。GWT是完全基于Java的开发框架,所有的Web组件采用Java编写,然后编译成具有AJAX功能的web页面。但是如果不熟悉Java开发,或需要对于从Java到Web的编译过程有更细致的控制,则会遇到困难。然而,GWT框架非常易用,只要补充一些Java语言技巧就可以开始用GWT了。
对于Java程序员来说,GWT生成Web内容的功能是神奇的,典型的Web开发人员偏好对于应用生成的web内容有足够多的控制,而GWT只提供了非常有限的控制方法。

 

 

posted @ 2011-12-05 00:24  birlt  阅读(762)  评论(3编辑  收藏  举报