摘 要:Ajax不仅仅是一种技术,更是Web 2.0时代最具创意的思想之一。随着Ajax技术的发展,各种Ajax框架层出不穷,这些框架不仅使开发者的工作变得更简单,而且它们也让Ajax的功能变得更强大。通过对主流框架的研究,剖析了若干主流框架的特性,并对几个主要框架做出对比。
关键词:Ajax框架;JQuery;Prototype
引言
近几年来,AJAX之风愈演愈烈,其相关技术以及背后所秉承的理念正逐渐被越来越多的开发人员所认可。毫无疑问,Ajax作为当前最火爆的技术之一,其优秀的框架层出不穷。Prototype、DWR、Dojo、JQuery、YUI等都是非常出色的产品。
1.如何选择Ajax框架
1.1. Ajax框架分类
从系统架构来看,可分浏览器端框架和服务器端框架。所谓浏览器端框架是指你写的程序代码主要运行在浏览器端,而服务器端框架则在服务器端。大部份框架多是浏览器端框架,如Dojo, Prototype,Ext-JS, JQuery,Mootools等。而服务器端框架则以DWR, buffalo为代表。
从功能面来看,可分为以下几类:浏览器端的底层链接库,如 Prototype, jQuery 等;浏览器端UI组件库,如 Ext-JS, Dojo 等。3、整合式框架,如 ZK,等。整合式框架则包括浏览器端及服务器端的完整框架。
从应用面来看,可粗分网站应用和企业应用。底层链接库多用于网站应用或当其它框架的基础。UI组件库则二者都有,而整合式框架侧重在企业应用。
1.2 框架使用调查
现在网上流行几种开源的AJAX框架,比如:jQuery,Mootools,Dojo,Ext JS等等,那么我们到底在什么情况下该使用那个框架?Ajaxian在2006-2008年间每年都对Ajax工具进行了调查,表1-3是部分调查结果:
不使用框架DojoExtGWTBackbaseqooxdoo62.8%23.2%19%18%11%10%3%2.7%1.3%0.2%0.1% 表1:2008 Ajax 框架使用调查表
PrototypeJQueryExt JS ools不采用框架YUIJSONDojoBackbaseDjango34.1%29.3%22.5%22.3%14.3%13%13%12.9%11.8%8.3%8.2%表2: 2007 Ajax框架使用调查表
从表中可以看出现在主流的Ajax框架主要有JQuery,Prototype,Ext JS等。选择AJAX框架的基础主要有以下几个方面:
> 你的项目需求(即你需要哪些特性,例如是否要求做出精美的界面、特效或其它功能)
> 对浏览器的支持(IE, FireFox等)
> 文档的质量:是否完善(包含教程,API,代码示例等)
> 框架的可扩展性如何?为框架写插件容易吗?
> 你是否喜欢它的API的风格?
> 能大多程度上统一你的JavaScript代码的风格?
> 框架大小(太大的框架导致用户下载时间的延长)
> 框架是否强迫你改变写HTML的方式?
> 代码执行速度:性能如何?
> 代码是否为模块化?代码可重用性如何?
2. 常用Ajax框架简介
2.1主流框架介绍
> JQuery短小精悍,接口设计得精妙(自然语言的风格),与程序思路配合精密。极大限度地体现了JavaScript的特性;支持XPath查询,dom1-3,轻松选择需要的元素;
> Yahoo User Interface Library(简称YUI) 是一个使用JavaScript编写的工具和控件库。它利用DOM脚本,DHTML和AJAX来构造具有丰富交互功能的Web程序
> Dojo包括了JavaScript本身的语言扩展,以及各个方面的工具类库,和比较完善的UI组件库。
> ExtJS是一种用于开发富客户端Web应用程序的JAVASCRIPT技术,它不需要为客户端安装任何插件就可以实现丰富多彩的界面效果,是进行富客户端开发的理想选择之一。
> DWR把java类转化为JAVASCRIPT类由DWR自 动完成,只需简单的配置;应用起来极其简单。开发者不要服务器代码就可以集成;容易测试。
2.2 JQuery和Prototype比较
对于在任意的HTML节点之后加入一个任意的标记
Prototype: new (’myId’, ‘任意HTML’);
JQuery: $(‘#myId’).after(’任意HTML’);
看起来,JQuery的代码确实比Prototype的代码更“人性化”一些。当然,从可读性来讲,两者的可读性都是非常出色的。造成代码风格的这种差异,其实是两个framework的开发者不同的代码哲学造成的。
3.总结
用于开发测试案例的所有框架有几个共同之处:对于发送AJAX请求方面功能强大、易于使用,而且免费。对于开发者来说即可以采用单一框架来开发web程序,也可以综合几种框架,如Ext JS+DWR,用DWR进行数据交互,Ext JS进行数据展现。具体采用哪个框架主要取决与应用的类型和开发人员的业务素质。
参考文献:
[1]叶明宪.对话AJAX框架双杰?[J].程序员.2007.12 ,100-103.
[2]Ryan Asleson. Foundations of Ajax [M]. 北京:人民邮电出版社.2006, 247-250.
中国论文网(www.lunwen.net.cn)免费学术期刊论文发表,目录,论文查重入口,本科毕业论文怎么写,职称论文范文,论文摘要,论文文献资料,毕业论文格式,论文检测降重服务。 返回电子论文列表