网上搜集整理了几种常见ajax框架,分别列出来,给想学的朋友做个参考。(排名不分前后)
1. APS.NET的官方解决方案
ASP.NET AJAX
网址:ajax.asp.net
ASP.NET AJAX是微软.NET平台上的解决方案,提供包括服务器端与客户端所需的AJAX技术与JavaScript整合机制。
通过下载、安装ASP.NET AJAX到Visual Studio当中,即可使用预设的控制项,开发出一些视觉特效与非同步传输的应用。
另外,ASP.NET AJAX也提供控制项的Toolkit,包含开发人员想自行开发AJAX应用时所需的基底类别与专案范本。
ASP.NET AJAX除了处理浏览器的兼容性问题,也让用户端的JavaScript在开发时加入物件导向特性,例如型别系统、资料型别、命名空间、事件等,使得程序代码更容易排错、维护和重复使用。
虽然ASP.NET AJAX提供服务器与客户端的解决方案,通过Visual Studio的支持,也让开发、排错的难度降低,不过和其他AJAX框架相比,许多AJAX效果和功能都还在测试阶段(在CTP版本中供用户测试),可以应用的功能有限。
2.支持(前进、后退)并加入(收藏)功能
Dojo
网址:dojotoolkit.org
一些轻巧的Ajax框架,用意在解决JavaScript遇到的易用性或特效问题,相比之下,Dojo更像是个面面俱到的JavaScript工具套餐,号称可以降低网页或网页应用程序前端开发速度。
Dojo支持拖拉、淡出、淡入、移动、透明、操作SVG图档等动态效果,它的Widget也让使用者可以轻易使用选单,分页标签(tab)、树状结构、日历、文字编辑器等效果,当然也支持非同步处理的Ajax功能。
另外,Ajax由于以动态的方式操作事物,导致使用者习惯于使用前进、后退的功能无法使用,也无法利用收藏的功能,将所需的页面留下正确的书签,但这些需求Dojo都已解决。
比起其他轻巧型的Ajax框架,要熟练掌握Dojo显然要下较多的功夫才行,目前文件较大也是个问题。不过由于它的功能更为完整,因此开发人员需要自行加工的地方就相对较少。
3.可由JavaScript调用Java程序
DWR(Direct Web Remoting)
网址:www.getahead.ltd.uk/dwr
DWR是设计给Java语言的Ajax框架,让开发人员可以利用JavaScript代码调用Java程序。
DWR的运作可分为两个部分,一部分用在浏览器上,处理连接服务器端Java程序,另一部分则是用来展示回传的资料。通过DWR调用Java的方法,能够处理连接的细节,当内容处理完成后,DWR就会就会执行返回获取程序,以进行后续展示处理。
在安装DWR时必须编辑Web应用程序的部署描述文档,而且也要编辑DWR 的配置文档。 DWR的配置文档指定了可以远端建立、调用的类别。文档中包服务器程序的JAR包,另外还有JavaScript文档,提供一些辅助函数,处理互动展示的效果。
DWR最大的好处就在于让Java开发人员可以利用熟悉的语法来处理页面与资料,并且能配合Struts、Tapestry来使用。不过从用户端调用远程服务器的Java程序时,仍存在一些安全上的疑虑,在使用时必须注意。
4.以易用性、简化语法为目标
jQuery
网址:jquery.com
jQuery是最近大受瞩目的Ajax框架,它以Prototype为基础,简化并提升JavaScript语法的功能。
jQuery有点像是将Prototype所做的事再推向极端,让使用者改变原有编写JavaScript代码方法。JQuery最被人称道的地方,就在于强大的存取页面元素功能,无论是文件的节点、CSS的选取或Xpath表达式,都能利用$( )函数快速存取,并赋予它更多的功能。
此外,它的chainable方法能将一串处理函数结合在一起,让程序代码更为简洁。另外jQuery也提供一些动态效果,不过和其他框架相比,这部分就显得不值一提了。
jQuery的优劣其实都在同一件事情上,一方面它简化JavaScript的语法,让编写程序更为简便,就好用的目的而言,的确是相当成功。然而这却让JavaScript的程序发展成另一种模式,对于初学者而言,一开始学习时,必须要花点时间去适应。
5.依功能需求,下载模组化工具
MooTools
网址:mootools.net
前身是以轻巧著称的Moo.fx,与Prototype有着相似的概念和语法,但在面向对象上做得更为彻底,而且在动画效果和互动行为上,提供更多的功能与应用,能让使用者更快的写出面向对象概念的JavaScript。
MooTools要下载的包根据模块分为核心、类别、原生语法、网页元素、浏览器视窗、动画效果、拖曳、远端传输与外挂程序,除了核心程序是必须要下载的之外,其他的可根据使用者需求进行下载,从而减小文件大小。
虽然MooTools将JavaScirpt面向对象做得更彻底,有利于程序的扩展与维护,不过也在挑战原先熟悉JavaScript对象编程的人,这部分人往往需要较多的时间去适应。
不过无论是网站本身呈现、程序语法展示,还是模块下载介面,MooTools都做了相当精致的动态效果,参考网站的示范,很快就能实际引用。
6.大大扩充JavaScript基本功能
Prototype
网址:prototype.conio.net
Prototype不像其他框架,有许多炫人耳目的动态效果,而是专注在改良JavaScript本身的功能,让JavaScript更容易使用,也更具物件导向风格。
Prototype在简化JavaScript方法上,提供许多方便的语法,最常见的如$( )函数,只要将DOM节点的ID传入这个函数,就能取得这个节点元素,简化了DOM的操作方法。而这个方式也成了其他开发框架延用的功能。其他如$F( )函数能直接处理Web表单元件的值,$A( )函数能将列举的字串转换成阵列等,都是Prototype经典功能。
在异步处理上,它提供了Ajax.Request、Ajax.Updater等类别,开发人员在处理异步传输时可以利用它提供的方法,让沟通行为更为容易、正确。
虽然Prototype没有太多花俏的功能,不过它简化JavaScript的特性,仍让许多Web开发人员衷情于它。
7.平顺、丰富的动画效果
Rico
网址:openrico.org
Rico是基于Prototype的Ajax框架,在西班牙文中,rico即为rich的意思,这也说明Rico的目标是提供开发人员利用JavaScript达到丰富的网页元件与应用。
Rico提供异步的Ajax应用,可让异步回应返回为一个或多个回应以操作DOM或JavaScript元素。在动画效果方面,支持如拖曳功能、缩放、过场、进度指标和黄褪技术等,可立即套用丰富的效果。
由于Rico志在让JavaScript也能表现出Flash般的动画效果,因此像是网页元件的颜色、形状或下拉效果的变化都相当平滑,也能让DIV方块做出圆角的效果,让视觉表现更具Web 2.0风格。
Rico的LiveGrid功能同样是被人称道之处。它可以让表单内容产生更多元的表现方式,突破表格的提交方法。例如它可以让使用者在滑动滚动条时动态加载资源,利用这种方式,可以分段加载,就无需采用分页查看的手法了。
8. RoR与CakePHP的指定框架
Script.aculo.us
网址:Script.aculo.us
Script.aculo.us是建立在Prototype之上的Ajax框架,是解决视觉效果与互动行为的轻巧框架,Ruby on Rails及PHP上的开发框架CakePHP等,都是使用Script.aculo.us作为Ajax的解决方案。
在视觉效果上,Script.aculo.us利用改变透明度、大小、位置以及结合以上三种元素,产生更多种变化,例如淡进、淡出、闪动、提示等数十种视觉效果,可让页面效果更具变化,引导使用者与介面程式互动等。
在互动介面方面,提供了拖曳元件、无刷新编辑元件(In-Place Editor)、水平、垂直拉动卷轴、自动完成、元件排序、购物车等,这些预先打包成套的功能,解决了浏览器兼容性问题,也让使用者很容易引入现有的程序功能,节省重新开发的时间。
此外,Script.aculo.us包含单元测试(Unit Test)框架,可以利用本身的test物件,用来验证程式执行的状态,并且支持模拟鼠标与键盘的功能。
9.由Yahoo!提供的用户接口框架
Yahoo! User Interface
网址:developer.yahoo.com/yui/
Yahoo! User Interface(YUI)是Yahoo!提供的Ajax框架,提供便捷的开发方式与许多JavaScript函数库,使用者可以利用它来开发互动式的界面与Ajax特效。 YUI可分为三大部分,包括工具、CSS和控制元件等函数库,工具部分是核心库,负责一些较底层的处理功能,CSS则提供像版面规画、字体工具。而控制元件则有自动完成、日历、树状结构这些工具。
由于YUI实际应用在Yahoo!的网站中,因此使用起来可靠性还是不错的,在YUI网站上也提供不少范例与文件,能协助使用者快速上手。虽然YUI是由Yahoo!所推出,不过它遵循JavaScript的语法规则,并将样式、内容与行为分离,开发人员如果要扩充功能,也相当容易。
一般Ajax框架都需要存放在网站的服务器端,随着页面一起加载,但YUI除了采取这种方式之外,也提供使用链接使用的方式,使用者只要在应用的页面中将路径指向YUI主机即可。
10.适合Java开发环境的企业级解决方案
ZK
网址:www.zkoss.org
ZK是基于Ajax、XUL(XML User Interface Language)、Java网页应用程序的开发框架,让网页的操作行为可以像桌面应用程序一样。
不同于用户端的Ajax解决方案,ZK由服务器端出发,利用ZK处理Ajax互动的引擎,处理用户端的页面行为,也因此大为降低利用JavaScript作为动态开发语法时,常遇到的浏览器兼容问题。
ZK提供了超过70个XUL组件及80多个XHTML组件,因此一些网页或应用程序常见的功能,ZK都能提供现成的工具,可以让使用者立即应用,使用ZK提供的以XML为基础的图形化设计界面,即可非常方便的生成相应组件。使用者则可在服务器端利用Java语言进行逻辑处理和资料接收工作。
由于ZK利用Java语言开发,属于以服务器为基础的解决方案,因此必须安装支持Java的应用程序服务器(如Tomcat)才能够执行。
上一篇: Photoshop CS6惊艳的新特性分享 下一篇: Windows下简单的宽带自动连接设置