网上有个版本,是前辈翻得,我改了一些地方,原文的出处是ajaxpatterns.org的ajaxframework,我是看着英文翻得,前辈的翻译很多不全,只翻译了一部分。错的(我认为错误)不多,但是不全现象比较严重。我的翻译不求有多专业,但求把原文逐字逐句翻译,还是贴出来,个人爱好,跟抄不抄袭无关。
是交上去的版本,目录按那个的。
基于浏览器的应用框架一般分为两种:
l Application frameworks:提供了浏览器功能,但其最著名的还是在于通过窗口生成组件建立桌面GUI。
l Infrastructural frameworks:提供基本的框架功能和轻便式浏览器端操作,让开发者去创建具体应用,主要功能包括:
n 基于XMLHttpRequest组件的浏览器交互功能
n XML解析和操作功能
n 根据XMLHttpRequest的返回信息进行相应的DOM操作
n 一些特殊情况下,和其他的浏览器端技术如Flash(或JavaApplets)等集合到一起应用
基于服务器端的应用框架通常以下面两种方式工作(尽管它们根据不同的语言进行了分类)
l HTML/JS Generation(HTML/JS生成):通过服务器端生成HTML和JS代码在传递给浏览器端进行直接运行
l 远程交互:JavaScript调用服务器端函数(例如调用Java函数)并返回给JavaScript的回调句柄,或者请求服务器端数据信息,例如Session信息,数据库查询等。
这些页面包含链接,综述和很多与Ajax相关的开发框架的证书细节。这里面的“Ajax”超越了远程/XMLHttpRequest到任何形式的胖浏览器端的应用,所以你会在这里找到,部件库,可视化效果,和服务器端的代码生成等等。这里热烈欢迎所有人来创建(编辑),可以在现在看到更详细的细节。感谢每一个到目前为止在这里增加框架信息的人。因为这里成长的快速,几乎每天增加一个开发框架,我在2005年12月1日的时候把页面分成了15页。
现在,多亏了Giorgio的帮助,意大利语的版本也呈现给大家了。
目录
译文正文... 1
目录... 2
1. Pure JavaScript: Application Frameworks. 4
1.1 Bindows (成立于2003年). 4
1.2 BackBase (成立于2003年). 5
1.3 DOJO (开发中,成立于2004年9月). 5
1.4 Open Rico (开发中;成立于2005年5月;基于早期的一个proprietary 框架). 5
1.5 qooxdoo (开发中; 成立于2005年5月). 6
1.6 Tibet (开发中; 创建于2005年6月). 6
1.7 AJFORM (创建于2005年6月). 7
2 Pure JavaScript: Infrastructural Frameworks. 7
2.1 AjaxCaller(创建于2005年5月). 7
2.2 Flash JavaScript Integration Kit()8
2.3 Google AJAXSLT(2005年6月发行)8
2.4 HTMLHttpRequest(Beta版;创建于2005年)8
2.5 Interactive Website Framework (创建于2005年)9
2.6 LibXMLHttpRequest (2003年6月发布)9
2.7 MAJAX.. 10
2.8 RSLite (x)10
2.9 Sack(开发中,成立于2005年5月)10
2.10 Sarissa (发布于2003年2月)10
2.11 XHConn (2005年4月发布)11
3 Server-Side: Multi-Language. 11
3.1 Cross-Platform Asynchronous INterface Toolkit (2005年5月)11
3.2 SAJAX (2005年3月)12
3.3 JavaScript Object Notation (JSON) and JSON-RPC.. 12
3.4 JavaScript Remote Scripting(JSRS)(2000年)13
3.5 Bitkraft for ASP.NET. 13
4 Server-Side: Java. 14
4.1 WebORB for Java (2005年8月)14
4.2 Echo 2 (2005年3月)15
4.3 Direct Web Remoting (DWR) (2005)15
4.4 SWATO (2005)16
4.5 AJAX JSP Tag Library. 16
4.6 AJAX Java Server Faces Framework. 17
5 Server-Side: Lisp. 17
5.1 CL-Ajax. 17
6 Server-Side: .NET.. 18
6.1 WebORB for .NET (2005年8月)18
6.2 Ajax.NET (2005年4月)19
6.3 ComfortASP.NET (2005年8月)19
6.4 AjaxAspects (2005年8月)20
7 Server-Side: PHP. 21
7.1 AjaxAC (2005年4月)21
7.2 JPSpan. 22
7.3 XAJAX.. 22
8 Server-Side: Ruby. 22
8.1 Ruby On Rails. 23
1. Pure JavaScript: Application Frameworks
1.1 Bindows (成立于2003年)
Bindows是一个通过强大的集成DHTML、JavaScript、CSS和HTML等技术的一套完整的现代桌面式的WEB应用程序软件开发包。Bindows无需下载安装客户端支撑组件(如Java、ActiveX或Flash),仅需一个浏览器。纯OO的理念体现在Bindows任何地方,Bindows或许是笔者见过的最完整最强大的面向对象的AJAX应用程序平台。
Bindows是商业程序的,使用了来自于MB的技术(总部位于GA USA,主要开发中心在瑞典,成立于2002年)。
l Bindows框架提供的功能和特性有:
n 基于类和面向对象(技术)的API
n 一套完整的Windows桌面系统,支持各种特性窗口模式,包括菜单、表单、表格、滑动条、测量仪器窗口和其他。
n 是开发zero-footprint(零空间占用)SOA客户端应用程序的首选
n 本机XML,SOAP和XML-RPC支持
n 单用户到企业级开发的支持
n 内建的AJAX支持
l Bindows开发环境:
n 支持企业级规模的项目开发
n 跨浏览器、跨平台的支持
n 独立于计算机(体系)结构
n 良好的与新的、现有的资源互操作性
n 统一的开发方法
1.2 BackBase (成立于2003年)
BackBase是一个完整的可跨浏览器的AJAX浏览器端框架,支持服务器端多种平台(如.NET和JAVA)
商业化产品,来自于Backbase B.V(总部在Amsterdam,成立于2003年)。
l .NET用户安装VS 2005-plugin
l JAVA用户与JSP taglib/Eclipse很好的集成
l 超过80个AJAX模式/组建,可参看Backbase Explorer网站
l 在Backbase DevNet拥有活跃的AJAX开发者社区
l 在线AJAX Demo可在此Check Out
1.3 DOJO (开发中,成立于2004年9月)
DOJO提供完整的轻量级窗口组件和浏览器-服务器消息映射支持
l 广泛的部署支持:基于从属的打包,一次性下载所有包(可在线看到On-Demand Javascript模式)
l 提供创建自定义JavaScript窗口组件的框架支持
l 丰富的预制的窗口组件库
l 拖拽支持,效果及一般性的动画效果支持
l B/S消息支持——XMLHttpRequest和其他机制支持
l 事件管理(可在Distributed Events模式看到)
l 支持浏览器中的书签和URL操作
l 开源许可(Academic Free License 2.1),由JotSpot的Alex Russell所领导。
1.4 Open Rico (开发中;成立于2005年5月;基于早期的一个proprietary 框架)
Open Rico是一个支持Ajax架构和用户交互的多用途框架。
l 一个XMLHttpRequest response能被一个或多个的DOM对象或者JavaScript回调操作调用。
l 简便的拖拽操作
l 支持基于AJAX的动画模式,如缩放和变换等 (并设定日常的应用如进度条和黄腿技术?)
l 基于Behaviors的有效的窗口组建库
l 使用指南在线提供,由RussMirimar的Yonah提供
l 在prototype库上建立
l 开源。源于Sabre航空公司解决方案,由Bill Scott,Darren James及另外一些人维护。
1.5 qooxdoo (开发中; 成立于2005年5月)
qooxdoo,是另一个发展迅猛的开发框架,提供广泛的用户界面支持并正在开发基础架构等特性。
l 基础架构:
n 能轻易的抽象和操纵DOM事件和焦点事件
n 支持调试
n 支持一个日程操作的Timer类
n Getter/Setter支持
l 用户界面:
n 未组建的窗口组件库和窗口框架
n 界面布局管理
n 图像缓存和简易的PNG图片处理
n 开源(LGPL). 有很多发起者。
1.6 Tibet (开发中; 创建于2005年6月)
Tibet是支持基于XML认证层在扩展的JS之上。初始开发是在1999年,2001年发布可在Nav4和IE4的1.0版本 Tibet在那时候(初始开发)之后得到了不断的开发并于最近对基于XML的认证做了重新设计。最早的此新基于XML认证的版本在http://www.technicalpursuit.com.可以获得。
1.7 AJFORM (创建于2005年6月)
AJFORM是一个极易上手的AJAX框架,被用来供给AJAX的新编程人员主要的作用是通过XMLHTTP可以从任何HTML页面。
AJFORM开发框架提供如下特性:
l 三步安装
l 自动支持任意HTML表单元素
l 几乎无需任何编码经验即可实现AJAX
l 开源协议(BSD 许可)
2.1 AjaxCaller(创建于2005年5月)
AjaxCaller是一个具有基本多线程安全访问的XMLHttpRequest组件,主要针对Ajax开发新手,目前仍处于alpha阶段,仅在AjaxPatterns的在线搜索范例中使用了这个程序。在TestAjaxCaller可以看到。
l 用明文或者XML(结构的数据)实现和服务器的安全交互(GET/POST/PUT/DELETE)
l 支持XMLHttpRequest对象的析构
l (支持)Response的高速缓存(计划中)
l 目标为Ajax 开发新手-库目标是可读性的代码和支持调试而不是最优化性能或者空间占用。
l 开源协议 (Creative Commons许可)由Michael Mahemoff和John Wehr、Richard Schwartz(维护)。
2.2 Flash JavaScript Integration Kit()
The Flash JavaScript Integration Kit可以使Flash内容和JavaScript脚本实现相互集成。
l 可以实现在JavaScript中调用(Flash) ActionScript脚本,反之亦然。
l 支持所有主要数据类型的在两种环境中的传递调用。
l 开源协议,由几个Flash开源爱好者维护。
2.3 Google AJAXSLT(2005年6月发行)
Google AJAXSLT是一个JavaScript框架,用来执行XSLT转换以及XPath查询。
l 目前在Google Map上就使用了这个。
l 开源协议(BSD) 由使用创新搜索解决方案的Google公司(发起)。
2.4 HTMLHttpRequest(Beta版;创建于2005年)
HtmlHttpRequest运用XMLHttpRequest对象和IFrame来实现最大限度的跨浏览跨平台的AJAX支持。
l 目前支持的浏览器:IE6/Win, IE5.5/Win, IE5/Win, IE4/Win, Mozilla/Win, Opera7/Win, Safari/Mac, IE5/Mac
l 尚未测试,可行的浏览器:IE4/Mac, Mozilla/Mac, Opera/Other, Konqueror/Linux。你是否在用他们中的一个?作者需要兼容的信息。
l 开源协议(LGPL)。由Twin Helix Designs的Angus Turnbull开发。
2.5 Interactive Website Framework (创建于2005年)
Interactive Website Framework定位在浏览器中支持各种各样的AJAX架构的开源项目。自称是通过JavaScript、CSS、XML和HTML实现高度交互WEB框架,包括一个易读的JavaScript的XML解析器。实际上,IWF所有的制造是(为了实现)一个包括一些通用脚本代码的基于AJAX框架。
l 实现了线程安全的XMLHttpRequest
l 对XML Document进行封装,以便你可以创建更具有可读性的代码:
var node = doc.groceries.frozen[0].pizza[0].size;
l 取代原始(手动)数据读取
var node = doc.documentElement.firstChild.firstChild.getAttribute("size");
l 开源协议 由Brock Weaver发起。
2.6 LibXMLHttpRequest (2003年6月发布)
libXmlRequest是一个小型XMLHttpRequest封装包
l 用同步和异步getXML()和postXML()两个方法(简化XMLHttpRequest调用)
l 支持XMLHttpRequest对象池
l Response缓存处理
l XSL和 XPath实用程序
l 为往HTML document对象复制XML节点提供setInnerXHTML实用程序
l 源码有版权保护。 由Stephen W. Cote发起。
2.7 MAJAX
MAJAX是另一个“非常”小巧的HttpRequest封装包,目的是为收发ASCII(字符型)(信息)提供简单接口。为每步动作比如服务器端的回应设置回调界面。
2.8 RSLite (x)
RSLite是一个小巧的高度跨浏览器的传送层封装组件,包括带有querystring参数请求的JavaScript图像类和一个Cookie应答。
l 一个简单的组件,是Brent Ashley的更全面的Remote Scripting产品的一部分(在JavaScript Remote Scripting - JSRS in Multi-Language Server-Side链接处可以看到)
l 开源协议由Brent Ashley维护。
2.9 Sack(开发中,成立于2005年5月)
Sack也是一个微型XMLHttpRequest封装包。
l 调用者可以自定义回调函数或者是回调DOM对象。借助于回调DOM对象,可以把Response回来的数据直接嵌入DOM中。
l 开源(由MIT证书制定),由Gregory Wild-Smith维护。
2.10 Sarissa (发布于2003年2月)
Sarissa是一个JavaScript API,封装了在浏览器端独立调用XML的功能。
l 可移植的XMLHttpRequest对象创造
l 可移植的XPath查询
l 可移植的DOM处理
l 可移植的XSLT
l 可移植的XML序列化
l 开源协议(GPL2.0和LGPL2.1)由很多建设者。
2.11 XHConn (2005年4月发布)
XHConn也是一个小型的XMLHttpRequest封装库
l 例子:
new XHConn().connect("mypage.php","POST","foo=bar&baz=qux",fnWhenDone);
l 开源协议许可,由Brad Fults发起。
l 恢复到http://ajaxpatterns.org/Javascript_Remoting_Frameworks。
3.1 Cross-Platform Asynchronous INterface Toolkit (2005年5月)
CPAINT是一个真正的同时支持PHP和ASP/VBScript脚本的AJAX和JSRS实现(工具包)。CPAINT在后台提供你需求的用于实现的AJAX和JSRS代码,同时返回处理过的、格式化后的数据并以JavaScript(形式)返回到浏览器端,这种方式可以创建实时反馈需求的WEB应用程序。
l 在Ajax Stub上可以见到更多
l 支持PHP和ASP
l 所有功能函数都在统一的JavaScript文件中
l 支持远程脚本和XML
l 支持本地和远程函数
l 返回数据以文本或JavaScript XML/DOM文档对象形式
l 单个或多个XMLHTTP对象
l 支持POST和GET请求方式
l 用服务端代理的方式实现远程函数和数据的访问操作
l 大部分浏览器中测试正常使用
l 在GNU、GPL、LGPL开源协议保护下由多个建设者维护
3.2 SAJAX (2005年3月)
SAJAX的实现方式是,例如:调用一个JavaScript方法x_calculateBudget(),将先把响应传到服务器并调用一个Java calculateBudget()方法,然后以JavaScript方式把值返回到x_calculateBudget_cb()中。很方便从JavaScript函数映射到服务端代理操作
l 像在Ajax Stub上面所描述的,清晰地描述了从JavaScript桩到服务器端操作
l 支持多种平台(ASP/ColdFusion/Io/Lua/Perl/PHP/Python/Ruby)
l 开源协议,有很多建设者
3.3 JavaScript Object Notation (JSON) and JSON-RPC
JSON是一个"face-free" XML,而JSON-RPC是一种远程交互协议,类似于XML-RPC,对JavaScript客户端支持较强
l 在JSON Message可以看到。
l 支持多服务端平台: Java, Python, Ruby, Perl.
l 针对不同的平台有不同的包和许可协议, 最初的概念和JavaScript的实现由Douglas Crockford提出和实现。.
3.4 JavaScript Remote Scripting(JSRS)(2000年)
JSRS采用直接在浏览器端用JavaScript调用服务器端语言,而后返回JavaScript。
l 支持的浏览器:IE4+,NS4.x,NS6.x,Mozilla,Opera7和Galeon。
l 服务器端语言支持:ASP,ColdFusion,PerlCGI,PHP,Python和JSP(servlet)。
l 开源协议。由Brent Ashley提供支持。
3.5 Bitkraft for ASP.NET
Bitkraft是个基于(.NET)Web框架的CLR(公共语言运行库),允许用独特的方式创建和操作分布式Web内容。用C#编写,运行在微软的.NET 1.1+和Mono框架下,无缝式的客户端-服务器响应方式是它的最大特点。
l 它的核心是,Bitkraft框架扩展ASP .NET架构并完全支持服务器端用XMLHttpRequest对象作为传送层,在今天被称为AJAX。
l 支持的浏览器: IE5+, Firefox1+, NS6
l 服务器端支持:ASP.NET, Mono XSP, Cassini, Apache (modMono) .NET Framework 1.1+
l 事件驱动
l 支持同步和异步的远程代理
l 客户端支持所有的.NET类型或自定义类对象映射到JSON中
l 用JSON取代XML
l 开源库由Wayne Lee-Archer维护
4.1 WebORB for Java (2005年8月)
WebORB for Java是一个开发AJAX和基于Flash的胖客户端应用程序的开发平台。并用Java类和XML Web服务来连接它们。在线例子提供。
l WebORB包括一个胖客户端开发类库。提供简单的在线式API用来绑定或者调用任何Java对象、XML Web Services和EJB
l 支持异步或同步的事件驱动
l 不需要在服务端修改任何代码,不需要自定义方法或属性、变量等。不要求设计时指定代理等。
l 同步调用不需要回调,异步调用需要一个回调方法。
l 客户端可以向服务端请求指定的活动方式,不需要任何编程就可以把处理结果轻易的转变为状态。
l 提供一个特定API来处理数据库查询结果-服务器代码能返回DataSet或者DataTable,而客户端以一个类似于RecordSet的JavaScript对象来显示这个结果。该对象提供检索列名和行数据的方法。
l 支持数据分页技术。客户应用程序能检索页面中的数据。
l 支持以参数的方式返回所有服务期端数据类型,如primitives, strings, complex types, arrays, native .net collections, remote references
l 目前有两个版本:标准版(免费),专业版(商业许可)
4.2 Echo 2 (2005年3月)
Echo 2允许你用纯Java语言编写AJAX程序。Demo在线提供.
l 自动生成HTML和JavaScript代码
l 用XML在客户端-服务端传递消息
l 如果愿意支持手写自定义JavaScript组件
l 开源协议(Mozilla Public License or GNU LGPL) 由Next App, Inc.维护。
4.3 Direct Web Remoting (DWR) (2005)
Direct Web Remoting是可以在JavaScript代码中直接调用Java方法的应用框架
l 类似于SAJAX,可以把JavaScript中的请求调用转递到Java方法中并(将执行结果)返回给JavaScript
l 可以和任何Web框架一起使用,如Struts、Tapestry等等
l 遵循类似Spring中的KISS/POJO/orthogonality一样的体系
l 目前该产品被加入到下一个WebWork发布版本中
l 开源(Apache),由Joe Walker维护。
4.4 SWATO (2005)
SWATO(Shift Web Application TO)是一套可重用的和良好集成的Java/JavaScript库,它给你一种更容易的方式来改变你的Web应用程序的交互,通过AJAX方式实现。
l 服务端Java库可以非常容易的部署到所有Servlet2.3+兼容的容器中
l 客户端JavaScript库可以在所有支持XMLHttpRequest的浏览器中使用
l 使用JSON技术在服务端组织POJO数据
l 提供一个简单接口使你能在JavaScript中调用远程的POJO数据
l <servlet>和<filter>灵活的在web.xml中进行配置,并且可以集成到Spring中
l 提供了几个可帮助你快速开发Web应用程序的组件(如自动完成的文本框,JS模版,等等)
l 在线demo提供。
l 开源许可(Apache)由Zhijie Chen维护。
4.5 AJAX JSP Tag Library
The AJAX JSP Tag Library是一组JSP标签库,用来简化AJAX(异步JavaScript和XML)的JSP程序开发。可以使J2EE的开发人员无需很写必要的JavaScript就能轻松开发AJAX模式的Web Form。
l autocomplete: 用户在文本域中输入字符串,自动返回匹配用户输入的字符的一列表数据
l callout:点击事件可以为HTML标签加入标注或气泡式的消息提示框
l Select:类似于联动菜单,第二级选择域会展现
l toggle:(开关闸按钮),比如在一个hidden表单域中存储true和false,同时显示相应的img图像
l update field:更新一个或多个表单域数据值,也就是无刷新提交了。
l 开源协议由多个建设者支持
4.6 AJAX Java Server Faces Framework
The AJAX-JSF框架设计的目的是简单的把任何已经存在的Java Server Faces应用转换为Ajax应用。大多数现存组件可被用来或可以很容易的转换为Ajax支持。
l 例子(在线提供):AJAX组件的 MyFaces JSF Tree(树型目录), table scroller(可滚动的表格), tabbed pane(分页栏)
l 对JSF特性的最小敏感度,树型目录建议
l 开源协议(Apache Software License),由Alexander Smirnov维护
5.1 CL-Ajax
CL-Ajax实现JavaScript直接调用服务器端Lisp函数
l 生成可带参数的JavaScript函数:
l 可以回调JavaScript函数或者DOM对象
l 也许可以集成到SAJAX中
l 开源许可 (定制,灵活的许可)由Richard Newman.维护
l 在http://ajaxpatterns.org/Lisp_Ajax_Frameworks可以看到
6 Server-Side: .NET
6.1 WebORB for .NET (2005年8月)
WebORB for .NET是一个用.NET和XML Web Services方式开发AJAX和基于Flash的胖客户端应用程序(在线例子提供)
l WebORB包括一个胖客户端开发类库。提供简单的在线式API用来绑定或者调用任何.NET对象、XML Web Services
l 支持异步或同步的事件调用
l 不需要在服务端修改任何代码,不需要自定义方法或属性、变量或参数类型。不要求设计时指定代理等。
l 同步调用返回数据,不需要回调,异步调用需要一个回调方法。
l 任何服务器端方法可以被同步或异步调用
l 客户端可以向服务端对象请求指定的活动方式,这样的结果是不需要任何编程就可以把处理结果轻易的转变为状态。
l 提供一个特定API来处理数据库查询结果-服务器代码能返回DataSet或者DataTable,而客户端以一个类似于RecordSet的JavaScript对象来显示这个结果。该对象提供检索列名和行数据的方法。
l 支持数据分页技术。客户应用程序能检索页面中的数据使用户体验更加流畅。
l 支持以参数的方式返回所有服务器端数据类型,如primitives, strings, complex types, arrays, native .net collections, remote references
l 目前有两个版本:标准版(免费),专业版(商业许可)由Midnight提供。
l 项目在线提供WebORB in Ajax Projects
6.2 Ajax.NET (2005年4月)
Ajax.NET是首家支持各种方式通过JavaScript访问服务端.net的免费库
l 类似于SAJAX,能把JavaScript请求发送到.NET方法,服务端回传给JavaScript,甚至包括串行化自定义类。
l 可以在JavaScript中访问Session和Application数据
l 缓存查询结果
l 免费使用源代码
l 无需更改源代码,允许给Ajax.NET添加和修改方法和属性
l 所有类支持JavaScript客户端返回数据,可以在JavaScript中使用DataSet:res.Tables[0].Rows
l 使用HtmlControls组件访问和返回数据
l 页面无需重载,用事件代理(数据访问层)
l 因为只提供一个调用接口方法,所以服务端CPU占用非常少
6.3 ComfortASP.NET (2005年8月)
ComfortASP.NET可以让开发者在纯.NET下开发类似AJAX(DHTML,JavaScript,XMLHttp)特性的应用程序。
l 在内部ComfortASP.NET使用Ajax(DHTML,JavaScript,XMLHttp)来实现这些特性-但在Web开发者看来只实现了纯服务器端ASP.NET
l 只传送更改
这导致了:
l 快速应答,用少的带宽连接
l 减少HTML传输(最高提高到90%)
l 减少页面重载而用隐藏的传输
l 客户端类似AJAX / DHTML的体验(但是不用任何直接地用AJAX / DHTML)
l 可以使用后退按钮来找到历史树(后退按钮(的不支持)不再激怒你的用户)
l 无闪烁的浏览器内容更改
l 可以在任何你需要的时候切换到原本的ASP.NET——即便是在动态运行时
6.4 AjaxAspects (2005年8月)
AjaxAspects是个可以用JavaScript调用服务端WebService事件的引擎
l 用Ajax和Web Services
l 为了带来标准的Web services,建造在JavaScript客户端代理方法上
l 用标准的SOAP和WSDL进行服务端-客户端通信
l 无需特别实现Web Services
l 多种数据类型、数组和XML对象作为参数和返回值
l 缓存支持,客户端和服务器端
l 队列动作
l 延迟动作
l 很多Ajax控制可以在集成到标准ASP.NET Web表单中
l 支持ASP.NET 2.0
l 所有源代码提供
l Web端演示提供
l 有英文和德文博客支持
l 开源协议,由Matthias Hertel维护。
7.1 AjaxAC (2005年4月)
AjaxAC用一个单独类封装了完整的应用程序功能。从网站上可以看到:
l 所有的功能在自包含的类中(另外附带一些JavaScript库)
l 调用PHP文件或者HTML页面非常干净,只需创建Application类后把类引用传递给需要调用的JavaScript对象或者HTML元素即可。
l 内建的功能用来轻易的处理JavaScript事件
l 内建功能用来创建子请求并处理他们
l 可以自定义配置数据,所以支持某些参数运行时更改
l 无需再JavaScript代码中夹杂凌乱的Html代码,所有事件都是被动态附加上的
l 由于以上两个优点,所以支持良好的模版引擎
l 容易Hook到PHP类和MySql数据库以子请求来返回数据
l 能够容易的用JavaScript建立窗口模式应用程序(尽管这还需要一些工作)
l 背景
l 开源协议(Apache 2.0)由Zervaas Enterprises维护
7.2 JPSpan
JPSPAN通过JavaScript直接调用PHP中的函数。
l 进行了严谨的单元测试
l 开源许可
引用Harry Fuecks,JPSpan的主要开发者的话:当给出这段谈话时,提到JPSpan其实是死的——HTML_AJAX在一定程度上是继承者——这有点像PEAR之于SOAP和NuSOAP。
7.3 XAJAX
XAjax通过JavaScript直接调用PHP中的函数
l 用JavaScript桩来调用函数,类方法,和在PHP脚本中的类方法
l 响应使用xajax响应类,这些类提供很多命令,例如指定某个HTML为某个元素,用alert展现等等。同样支持定制脚本输出。
l 所有浏览器端定制的代码(例如用XMLHttpRequest)是抽象的,并发送多种数据类型到服务器端(包括采用Ajax的提交表单)是很容易实现的。
l 支持很多设置选项来允许与现有Web应用和开发框架很容易的集成
l JavaScript代码很容易理解并支持为更高级的应用重写代码
l 很好的通过论坛和带有文档的和tutorials的Wiki来支持
l 开源许可协议(LGPL)由J. Max Wilson 和 Jared White维护
l 在AjaxProjects网站的Xajax Page页面可以看到。
8 Server-Side: Ruby
8.1 Ruby On Rails
Ruby On Rails是一个支持AJAX的完整Web框架
l 当Ajax出现的时候Rails还处于其发展的早期,因此Ajax可能逐渐成为Rails框架的核心。
l 生成浏览器端大多数/全部的Window应用组件和动画的JavaScript脚本。
l 支持服务器端调用。
l 队列支持
l 开源许可(MIT或类似)。由David Heinemeier Hansson维护和创建。