Ajax框架概述

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Ajax框架概述
在编写Ajax页面时,有时会出现一些重复性代码。

这时可以把这些重复性的代码,即多次需要调用的代码,以面向对象的方式封装到一个文件里面,如创建XM LHttpRequest对象的代码。

这样能够达到代码重复重用的目的,能够很好的维护程序和调试程序。

重复性代码被封装成独立文件,其文件扩展名为.js。

利用封装Java Script文件可以形成自己的代码库,进而形成属于自己的框架。

创建属于自己的Ajax代码库(框架),会花费大量的时间,并且还需要时刻注意代码库的Bug并进行修正。

对于个人来说,还不如使用一些现成的Ajax框架,毕竟这些框架是经过优秀程序员创建和大量的用户测试。

从Ajax诞生以来,人们就发现使用Ajax框架可以带来极大的方便,节省了Aj ax程序员大量的时间和精力。

Ajax框架很多,主要可以分为两种类型,基于客户端和基于服务器端。

其中,大部分都开源,但也有少数专用。

本节中不可能每个框架都进行介绍,只对现在比较流行的框架进行介绍,并且对框架也不去进行深入的介绍。

Ajax框架由于代码库封装代码的不同,可以分为基于浏览器的Ajax框架和基于服务器端的Ajax框架。

基于服务器端框架可以划分两种形式,分别为HTML/JS Generation(HTML/JS生成)和远程交互。

第一种形式是通过服务器端生成HTML和JS代码在传递给浏览器端进行直接运行。

第二种形式是利用JavaScript调用服务器端函数(例如调用.NET函数)并返回给JavaScript 的回调句柄,或者请求服务器数据信息,例如Session信息,数据库查询等。

常用的Ajax框架,有Dojo、prototype、DWR、Buffalo、openrico、qooxdoo、YUL、、和Atlas等。

如下是对一些框架的简单描述:
(1)Dojo是一个各个方面相当完善的JS库,包括了JS本身的语言扩展,以及各个方面的工具类库,和比较完善的UI组件库,也被广泛应用在很多项目中,他的UI组件的特点是通过给HTML标记增加tag的方式进行扩展,而不是通过写J S来生成,Dojo的API模仿Java类库的组织方式。

Dojo的优点就是库相当完善,发展时间也比较长,缺点是文件体积也比较大,初次下载相当慢。

此外,Dojo的类库使用显得不是那么易用,特别是和prototype相比,更加显得难用。

(2)Prototype是一个非常优雅的JS库,定义了JS的面向对象扩展,DOM操作API,事件等等。

还有rico/实现一些JS组件功能和效果(不过目前还不是很完善),以prototype为核心,形成了一个外围的各种各样的JS扩展库,是相当有前途的JS底层框架,值得推荐。

prototype以及rico/的一个特出特点就是非常易学易用,门槛很低,常常是一两行JS代码就可以搞定一个相关的功能。

同时也是RoR集成的Ajax JS库。

(3)DWR(Direct Web Remoting)是一个Web远程调用框架。

利用这个框架
可以让Ajax开发变得很简单。

利用DWR可以在客户端利用JavaScript直接调用服务端的Java方法并返回值给JavaScript就好像直接本地客户端调用一样(DWR根据Java类来动态生成JavaScrip代码)。

可以和任何Web框架一起使用,如Struts、Tapestry等等,目前该产品被加入到WebWork中。

(4)qooxdoo是一个功能很强的JS组件库,完全模仿Windows操作系统的G UI组件。

特点是不通过常规的HTML来构造页面,完全使用JS以类似VB/Delphi 风格的编程方式构造Web GUI界面,比较适合内网面向C/S风格的web应用,,而不适合面向Internet的界面多变风格的应用。

qooxdoo的另一个优势是:qooxdoo将要提供一个FormDesigner的IDE,通过在IDE里面的可视化拖拽设计方式来自动生成C/S风格的web页面js代码。

qooxdoo缺点是JS文件体积过大,超过200KB,初次下载会比较慢,而且并不适合Internet消费类网站。

(5)YUL是Yahoo新近发布的Ajax组件库,也是一个包含了各个方面,从工具类库到通讯,到UI组件的综合性JS库。

YUL的优势在于文档非常齐全,而且有Yahoo的支持,缺点是库目前还是不是很全,功能也不强大。

(6)Google Web Toolkit是一个开放版本的Ajax Framework,通过它用户可以构建像Google Maps和Gmail之类的Web应用程序。

这个Google Web Toolkit beta免费,是一个基于Java的工具,并能够和任何Java开发工具协同工作。

GWT 已经加入到Google的代码库当中,这个代码库包含了很多API和开发工具。

Googl e产品经理Bret Taylor表示,当用户把应用程序部署到产品当中时,GWT编译器只要简单的把用户的Java应用程序转换成浏览器支持的JavaScript和HTML就行。

(7)LINB(Lazy Internet and Browser)是一个面向程序编写者的软件架构。

目的是让程序编写者在对软件的全局了如指掌的基础上,实现更目标驱动的、任务清晰的、高效的软件应用。

LINB是平台无关的架构,兼容C/S、B/S、RIA和Web 2.0等等。

除了上述介绍的Ajax框架外,还有许多其他的框架,表7-1中按框架的类别列出了目前使用的Ajax框架。

在表中的这些Ajax框架,每一个都有自己的一些特点,都有一些创新的方面。

表7-1 Ajax框架。

相关文档
最新文档