引语
毫无疑问,Ajax作为当前最火爆的技术之一,其优秀的框架层出不穷。Prototype、Dwr、Dojo、JQuery、YUi…… 都是非常出色的产品。本专题为您介绍了目前十大流行的Ajax框架及各自特性,供您在开发过程中参阅。
您当前正在使用的Ajax框架是什么?哪一个又是您心目中最优秀的呢?欢迎您发表评论,与他人分享您的观点。[发表评论]
十大Ajax框架(排名不分先后)
No1—Prototype 特点:一个非常优雅的JS库,定义了JS的面向对象扩展,DOM操作API,事件等等,之上还有rico/script.aculo.us实现一些JS组件功能和效果(尚不够完善),以prototype为核心,形成了一个外围的各种各样的JS扩展库,是相当有前途的JS底层框架,突出特点就是非常易学易用,门槛很低,常常是一两行JS代码就可以搞定一个相关的功能。同时它也是RoR集成的AJAX JS库。Prototype官方站点No2—Dojo特点:Dojo包括了Javascript本身的语言扩展,以及各个方面的工具类库,和比较完善的UI组件库;Dojo设计的包加载机制(Package System)和模块化(Libraries)的结构,能保持更好的扩展性,提高执行性能,减轻了用户开发的工作量,并保持一定的灵活性(用户可以自己编写扩展);Dojo官方网站有着丰富的学习资源;专业的开发团队,可以保证更新速度及质量。 Dojo官方站点No3—Mootools 特点:小巧高效,完整下载36k;模块化设计,合理规范,优雅的OOP风格;创新的下载过程,可以跟据自己的需要勾选相应的模块下载,Build Your Own Framework;Effects模块(moo.fx)轻量高效,可以实现优雅、可定制、easing的动画;完整的API文档,丰富的范例。 Mootools官方站点 No4—JQuery 特点:短小精悍(19k),接口设计得精妙(自然语言的风格),与程序思路配合精密。极大限度地体现了javascript的特性;支持xpath查询,dom1-3,轻松选择需要的元素;css支持;简单的动画实现,支持自定义动画;支持插件开发,现有插件多;完整的api文档以及范例,易学;拥有官方UI程序供使用,效果好。 JQuery官方站点 No5—Dwr 特点:把java类转化为javascript类由dwr自动完成,只需简单的配置;应用起来极其简单。开发者不要该服务器代码就可以集成;容易测试。和webwork一样,隐藏的http协议;强扩展性。例如与spring集成,只需修改一点代码;性能。就与jason等简单比较,dwr性能可能是最好的。 Dwr实用技术汇总 No6—Buffalo 特点:国人开发的Ajax框架。定义了Web远程调用的传输基础,并且将远程调用对象完整的序列化到了本地,成为可以被JavaScript编程触及的对象。Buffalo中的重要组件-BuffaloBinding,提供了将JavaScript对象绑定到HTML元素的能力。这种绑定将是无侵入的,只需要在HTML元素中加入若干个不影响排版的属性,即可将数据与界面绑定。 Buffalo实用技术汇总 No7—Yui 特点:Yahoo发布的AJAX组件库,是一个包含了各个方面,从工具类库到通讯,到UI组件的综合性JS库。YUL的最大优势在于文档非常齐全,而且有Yahoo的支持,缺点是库目前还不全,功能也不强大。 Yui官方站点 No8—Ext 特点:Ext来自于对YUI的扩展,扩展後功能和界面都有了很大的提高。初期仅仅是对YUI的对话框扩展,后来逐渐有了自己的特色,深受网友的喜爱。 Ext官方站点 No9—Qooxdoo 特点:不通过常规的HTML来构造页面,完全使用JS以类似VB/Delphi风格的编程方式构造Web GUI界面,比较适合内网面向C/S风格的web应用,而不适合面向Internet的界面多变风格的应用。 Qooxdoo实用技术汇总 No10—Spry 特点:设计规范,功能全面,文档丰富,面向设计人员而不是开发人员。与其它一些Ajax框架相比,它的服务器端的技术不是很可靠。它依赖于XML,XML可以很容易被Spry组件接受。 Spry实用技术汇总
框架比较
◆ jquery和prototype比较,以及冲突解决 初次试用jQuery,到底是prototype好还是jquery好?之前的项目已经使用了prototype,现加入jquery后,立刻罢工,搜了一下,虽然后来解决了,但最后我还是抛弃prototype,开始使用jquery了。 ◆Buffalo和Dwr的比较 本文简单比较一下Buffalo和DWR,两者的思路基本类似,有很多共性的东西。总的看来,Buffalo能满足基本的需要,但DWR已经在整体 系统结构上有了更多优势。框架的生命周期是有限的,如果不能与时俱进,将迟早面临被淘汰的局面。