
1.3 与Ext JS同类的AJAX框架
目前,除了Ext JS之外,还存在一些类似的AJAX框架,如Prototype、Dojo、DWR、GWT等,下面对上述主流的AJAX框架进行简单的介绍。
1.3.1 Prototype
Prototype是由Sam Stephenson创建的,它只有一个JavaScript文件prototype.js,它只提供了对JavaScript的底层进行封装,可以通过http://www.prototypejs.org/download来下载Prototype,其下载画面如图1.10所示。

图1.10 Prototype的下载画面
Prototype目前最新的版本是1.6.1,读者可以通过http://www.prototypejs.org/learn来学习相关知识,如图1.11所示。

图1.11 Prototype的学习网址
1.3.2 Dojo
Dojo要比Prototype更进一步,它提供了非常丰富的JavaScript工具箱,通过http://demos.dojotoolkit.org/demos/可以查看Dojo实现的一些实例,如图1.12所示。
从上面可以看到,Dojo提供了很多示例的实现,比如使用Dojo实现的邮箱,如图1.13所示。

图1.12 Dojo实现的一些实例

图1.13 使用Dojo实现的邮箱
使用Dojo还可以实现很多图表分析的功能,如图1.14所示。

图1.14 使用Dojo实现图表分析的功能
Dojo首页的网址是http://dojotoolkit.org/,如图1.15所示。

图1.15 Dojo首页的网址
1.3.3 DWR
DWR可以在客户端利用JavaScript直接调用服务端的Java方法,就好像在服务器端直接调用Java代码一样,示意图如图1.16所示。

图1.16 客户端与服务器端的交互示意图
通过http://directwebremoting.org/dwr/download.html可以下载DWR,下载网页如图1.17所示。

图1.17 DWR的下载网页
1.3.4 GWT
GWT是Google公司推出的一个AJAX框架,目前Ext JS也与GWT进行了整合,如图1.18所示。

图1.18 Ext JS与GWT的整合
GWT提供了很多UI设计方面的组件,它的使用比较方便,教程也比较丰富,通过http://code.google.com/intl/zh-CN/webtoolkit/gettingstarted.html可以获得有关GWT的学习内容,如图1.19所示。

图1.19 有关GWT的学习网址
1.3.5 Ext JS与上述框架的区别
通过前面的介绍,我们可以知道Prototype、DOJO、DWR、GWT主要实现了与后台交互以及数据传输方面的功能,其中只有DOJO和GWT在页面展示方面有比较多的组件,但并不丰富。而前面介绍的Ext JS不论是在前台页面展示,还是在后台数据交互等方面都有着丰富的组件,而且Ext JS还可以随意地替换底层的实现,比如除了采用Ext-core外,还可以采用Prototype、jQuery等底层实现技术。基本上,与日常开发有关的前台页面组件Ext JS都提供了实现,比如按钮、菜单、工具栏、表单、表格等,Ext JS实现的拖曳功能组件如图1.20所示。

图1.20 Ext JS实现的拖曳功能组件