[转]基于AJAX的应用程序架构汇总(下)

3 服务器端:多种语言

3.1 跨平台异步的接口工具箱(5月2005年)

CPAINT:http://cpaint.sourceforge.net/,是一真正的 支持PHP和ASP/Vbscript的Ajax实现和JSRS(JavaScript远程脚本)实现。CPAINT提供给你需求的代码在后台实现 AJAX和JSRS,而返回的数据以JavaScript形式在前台操作,格式化和显示。这允许你创建能提供接近实时的反馈给用户的web应用程序。

·支持PHP&ASP

·针对所有函数的一致的JavaScript文件

·支持远程脚本和XML

·支持本地和远程函数

·单个或者多个XMLHTTP对象

·以文本或者JavaScript XML/DOM文档对象方式返回后台数据

·能支持POST和GET请求

·后台代理函数来访问远程函数和数据

·在所有的主要浏览器上测试过

·在GNU GPL&LGPL保护下发行

3.2 SAJAX(可用,但是不是1.0版本;自从3月2005年)

网站是: http://www.modernmethod.com/sajax/,直接把调用从Javascript发送到你的服务器端语言并再次回返。例如,调 用一个javascript方法x_calculateBudget(),将先到达服务器和调用一个Java calculateBudget()方法,然后以javascript方式把值返回到x_calculateBudget_cb()。

·便利从Javascript代理函数到后台操作的映射。

·能够代理对众多服务器端平台(ASP/ColdFusion/Io/Lua/Perl/PHP/Python/Ruby)的调用。

·开源许可。来自多方面贡献者。

3.3 Javascipt对象标志(JSON)和JSON-RPC

JSON(http://www.crockford.com/JSON/index.html), 是一个"胖的自由的XML选择",而JSON-RPC(http://www.json-rpc.org/)是一种远程过程协议,类似于XML-RPC, 强有力支持Javascript客户。

·实现多服务器端平台(http://www.json-rpc.org/impl.xhtml):Java,Python,Ruby,Perl。

·针对每种平台有独立的打包和许可,如JSON-RPC-Java(http://oss.metaparadigm.com/jsonrpc/)。

3.4 Javascript远程脚本(JSRS)(自从2000年)

网址是:http://www.ashleyit.com/rs/jsrs/test.htm,直接把调用从Javascript发送到你的服务器端语言并再次回返。

·知名的浏览器:IE4+,NS4.x,NS6.x,Mozilla,Opera7和Galeon。

·服务器端支持:ASP,ColdFusion,PerlCGI,PHP,Python和JSP(servlet)。

·开源许可。由Brent Ashley(http://www.ashleyit.com/)提供支持。

4 服务器端:Java

注意:许多现有的框架最近正在添加Java支持(例如struts),我将在后面指出。

4.1 WebORB for Java(自从2005年8月)

网址:http://www.themidnightcoders.com/weborb/aboutWeborb.htm,是一个平台,支持开发AJAX和基于Flash的胖客户端应用程序,并可以把它们与Java对象和XML Web服务相系起来。在线举例(http://www.themidnightcoders.com/examples)

·WebORB包括一个称作丰富的客户系统(http://www.themidnightcoders.com/rcs/index.htm)的客户端库。该丰富的客户系统提供一简单的在线api来绑定到并调用任何Java对象,XML Web服务或者EJB上的方法。

·支持同步的和异步的方法调用。

·并不要求在服务器端代码上作任何修改,不需要定制方法属性,特别的签名或者参数类型。★不要求设计时生成代理。

·同步调用返回来自于该调用(不需要回叫)的数据。异步的调用依赖于一个回叫实现。

·任何服务器端方法能被同步地或者异步地调用。

·客户应用程序能向服务器对象请求指定的活动方式。结果,对象能被轻易地创建而不需任何特殊的编程

·提供一个特定API来处理数据库查询结果-服务器代码能返回Data集合或者Data表,而客户端以一个特殊RecordSet JavaScript对象来显示这个结果。该对象提供一个方法以检索列名和行数据。

·支持数据分页技术。客户应用程序能检索页面中的数据。

·支持所有的服务器端参数类型并返回值-原型,字符串,复合类型,数组,本机.net集合,远程参考。

·共有两种版本可用:标准版(自由)和专业版(商业许可)

4.2 Echo 2(自从3月2005年)

网址是:http://www.nextapp.com/products/echo2/,允许你用纯Java代码编写Ajax应用软件(范例(http://demo.nextapp.com/InteractiveTest/ia))。

自动地生成HTML和Javascript。

·协调浏览器和服务器之间的消息。消息形式为XML。

·如果需要,可以手工编写定制的Javascript部件。

·开源许可(Mozilla公共许可或者GNU LGPL)。源于Next App,Inc.(http://www.nextapp.com/)。

4.3 Direct Web Remoting (DWR)(2005年)

网址是:http://www.getahead.ltd.uk/dwr/,是一个框架,用于直接从Javascript代码中调用Java方法。

·象SAJAX,能把Javascript中的调用传递到Java方法,并返回到Javascript回叫。

·能与任何web框架(Struts,Tapestry,等等)一起使用。

·开源许可(Apache(http: //www.apache.org/LICENSE.txt))。由Joe Walker(http://www.getahead.ltd.uk/sg/space/joe/)所支持。被加入到WebWork(http: //www.opensymphony.com/webwork/)版本。

4.4 SWATO(2005年)

网址是:http://swato.dev.java.net/,是一套可重用的和良好集成的Java/JavaScript库,它实现了一种更容易的方式来改变你的web应用程序的交互,它是通过AJAX方式实现。

·服务器端Java库能被容易地配置到所有的Servlet 2.3+匹配的容器中。

·客户端JavaScript库能工作在支持HttpXMLRequest的各种浏览器中。

·使用JSON来在服务器端编组你的POJO数据。这样你能存取在任何JavaScript环境(HTML,XUL,SVG)中的远程数据,这种存取可以容易地通过硬编码或者与某种成熟的JavaScript库集成来实现。

·提供一个简单的接口来使你的JavaScript代码可以与暴露在客户端的远程POJO交互(RPC等)。

·使用web.xml中的<servlet>和<filter>的容易且灵活的配置,并能(但不是依赖)与Spring集成到一起。

·提供了几个可帮助你快速开发web应用程序的组件(如自动完成的文本框,在线表单,在线列表,等等)。

5 服务器端:Lisp

5.1 CL-Ajax

网址:http://cliki.net/cl-ajax,实现Javascript直接调用服务器端Lisp函数。

·如下输出函数:

(export-函数 #’my-函数)

·可以产生带有参数的Javascript代理。

·能回叫Javascript函数或者DOM对象。

·可以被集成进SAJAX。

·开源(定制,非常灵活,许可)。由[Richard Newman](http://www.holygoat.co.uk/)所维护。

6 服务器端:.NET

6.1 WebORB for.NET(自从8月2005年)

网址:http://www.themidnightcoders.com/weborb/aboutWeborb.htm,是一个平台,用于开发AJAX和基于Flash的胖客户端应用程序,并能把它们连接到.NET对象和XML Web服务。(在线举例(http://www.themidnightcoders.com/examples))

·WebORB包括一个客户端库,名叫Rich Client System(http://www.themidnightcoders.com/rcs/index.htm)。Rich Client System提供一简单的在线api以绑定到和调用任何.NET对象或者XML Web服务上的任何方法。

·支持同步和异步的方法调用

·并不要求在服务器端代码上作任何修改,不需要定制方法属性,特别的签名或者参数类型。**不要求设计时代理生成。

·同步调用返回来自于该调用的数据(不需要回叫)。异步的调用依赖于一个回叫实现。

·任何服务器端方法能被同步地或者异步地调用。

·客户应用程序能向服务器对象请求指定的活动方式。结果,对象能被轻易地创建而不需任何特殊的编程

·提供一个特定API来处理数据库查询结果-服务器代码能返回DataSet或者DataTable,而客户端以一个特殊RecordSet JavaScript对象来显示这个结果。该对象提供一个方法以检索列名和行数据

·支持数据页面技术。客户端应用程序能检索页面中的数据。

·支持所有的服务器端参数类型并返回值-原型,字符串,复合类型,数组,本机.net集合,远程参考

·共有两种版本可用的:标准版(自由)和专业版(商业许可)

6.2 Ajax.NET(自从3月2005年)

网址是:http://ajax.schwarz-interactive.de/,是一个库,实现从Javascript到服务器端.NET的存取。

·象SAJAX,能把Javascript中的调用传递到.NET方法,并返回到Javascript回叫。

·能存取来自于JavaScript的会话数据。

·缓存结果

·自由使用,可用的源码,未指定使用许可。由Michael Schwarz(http://weblogs.asp.net/mschwarz/)所维护。

·不允许改变源代码,用属性标记方法

·完整的类支持以返回客户端JavaScript值

·使用HtmlControls来进行输入和返回值

·可以返回数据表,数据集,数据视图,数组和集合

7 服务器端:PHP

7.1 AjaxAC(自从2005年4月)

网址是:http://ajax.zervaas.com.au/,用单个的PHP类封装了完整的应用程序。

·所有的应用程序代码是自包含在单个类中(附加另外一些JavaScript库)

·干净利索地调用PHP文件/HTML页面。只需创建应用程序类,然后参照应用程序JavaScript和依附任何需要的HTML元素到该应用程序。

·容易地处理JavaScript事件的内嵌功能

·创建子需要并处理它们的内嵌功能

·允许定制的配置值,因此某些单元能在运行时间设置

·无凌乱的JavaScript代码夹杂在调用HTML的代码中-所有的事件是被动态依附的

·由于以上两个原因容易和模板引擎集成到一起

·容易钩到(hook in to)已有的PHP类或者MySQL数据库以返回来自于子需求的数据

·能够容易地进一步生成JavaScript对象的可扩展的窗口小组件结构(但是还需要做一些工作)

背景:

·开源许可(Apache2.0)。由Zervaas Enterprises(http://ajax.zervaas.com.au/)支持

7.2 JPSpan

网址是:http://jpspan.sourceforge.net/wiki/doku.php,直接把Javascript调用传递到PHP函数。

·进行了严肃的单元测试。

·开源许可(PHP)。

7.3 XAJAX

网址是:http://xajax.sf.net,直接把Javascript调用传递到PHP函数。

·使用Javascript代理来调用PHP脚本。

·开源。由J.Max Wilson所创。

8 服务器端:Ruby

Ruby On Rails(http://www.rubyonrails.org/)是一个通常的强力支持Ajax的web框架:

·当Ajax出现的时候Rails还处于其发展的早期,因此Ajax可能逐渐成为Rails框架的核心。

·生成浏览器中大多数/全部的窗口小组件和动画的Javascript脚本。

·支持服务器端调用。

·调度支持。

·开源许可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值