Ajax开发框架(下)[整理]
2009-03-29 22:32 老博客哈 阅读(1203) 评论(0) 编辑 收藏 举报21. Direct Web Remoting (WDWR)
其主要特点如下:
- Direct Web Remoting可以在JavaScript代码中直接调用Java方法的应用框架;
- 类似于SAJAX,可以把JavaScript中的请求传递到Java方法中并将执行结果返回给JavaScript;
- 可以和任何Web框架一起使用,如Structs、Tapestry等;
- 开源(Apache),目前该产品被加入到WebWork中。
22. SWATO
其主要特点如下:
- SWATO是一套可重用的并且良好集成的Java/JavaScript库,它实现了一种更容易的方式来改变Web应用程序的交互,通过Ajax方式实现;
- 服务端Java库可以很容易的部署到所有Servlet2.3+兼容的容器中;
- 客户端JavaScript库可以在所有支持XMLHttpRequest的浏览器中使用;
- 使用JSON技术在服务端组织POJO数据,这样你可以在任何JavaScript环境中(HTML,XUL,SVG)访问这些远程数据,这种方式很容易通过硬编码或者某种成熟的JavaScript库集成到当前应用中;
- 提供一个简单的接口,使你能在JavaScript中调用远程的POJO数据;
- 使用<servlet>和<filter>灵活地在web.xml中进行配置,并且可以集成(不是必须)到Spring框架中;
- 提供了几个可帮助你快速开发Web应用程序的组件(如自动完成的文本框、在线表单、在线列表等)。
AJAX JSP Tag Library是一组JSP标签库,用于Ajax程序开发。在J2EE下可以无需JavaScript就能轻松开发Ajax模式的Web Form。标签库为比较通用的Ajax功能提供了5个标签。
- autocomplete:用户在文本框中输入字符,自动从指定的数据中匹配用户输入的字符类似于Google Suggest;
- callout:可以为A标签加入气泡式的消息提示框,不过是实时的服务端取出数据;
- Select/dropdown:类似于联动菜单,比如省市镇的联动下拉框。
- toggle:开关闸按钮,比如在一个hidden表单域中存储true和flash,同时显示相应的img图像;
- update field:更新数据,也就是无刷新提交了。
23. AJAX Java Server Faces Framework
AJAX-JSF用来把任意的JSF应用程序转变为AJAX应用程序。
24. Bitkraft for ASP.NET
Bitkraft是个基于Web框架(.Net的CLR公共语言运行库),允许用独特的方式创建和操作分布式Web内容。它采用C#编写,运行在微软公司的.Net 1.1和Mono框架下。无缝式的客户端-服务器响应方式是它的最大特点。Bitkraft没有使用XML组织数据,而是用JSON代替。其主要特点如下:
- 支持的浏览器包括IE5+、Firefox1+、NS6;
- 服务器端要求ASP.NET、Mono XSP、Cassini、Apache(modMono) .Net Framework1.1+事件驱动;
- 支持同步和异步的远程代理;
- 客户端支持所有的.NET类型或自定义类对象映射到JSON中;
- 用JSON取代XML。
- 免费,开源许可协议。
25. Ajax.NET
Ajax.NET是首家支持以各种方式通过JavaScript访问服务端.NET的免费库,类似于SAJAX。它能把JavaScript请求发到.NET方法,服务端传给JavaScript,甚至包括串行化自定义类。其主要特点如下:
- 可以在JavaScript中访问Session和Application数据;
- 缓存查询结果;
- 免费使用源代码;
- 无需更改源代码,允许给Ajax.NET添加和修改方法和属性;
- 所有类支持JavaScript客户端返回数据,可以在JavaScript中使用DataSet;
- 使用HtmlControls组件访问和返回数据;
- 页面无需重载,用事件代理(数据返回层);
- 因为只提供一个调用接口方法,所以服务端CPU占用非常少。
26. ComfortASP.NET
ComfotASP.NET可以让开发者在纯.NET下开发类似Ajax(DHTML,JavaScript,XMLHttp)特性的应用程序。其主要特点如下:
- 快速应答;
- 减少HTML传输;
- 减少页面重载;
- 无闪烁的浏览器内容更改;
- 良好的Ajax用户体验。
27. Magicajax
Magicajax以最简单的方式将Ajax功能整合到页面中,不需要修改ASP.NET控件,也不需要编写新的控件,更不需要撰写JavaScript,它有如下特性:
- 应用配置简单,易于上手;
- 只用一个AjaxPanel就可以实现Ajax功能,只要把需要无刷的控件放进AjaxPanel就可以了;
- 不需要编写复杂的Javascript;
- Ajax功能和普通的Postback可以共存于一个Webform,MagicAjax处理模块只处理包含在AjaxPanel中的控件的CallBack动作;
- ViewState的内容对于Postback和Callback来说,都是可见的,因此,无论是Callback产生的ViewState,还是Postback产生的,都是可见的;
- 提供一个类似PostBack的AjaxCall的事件模型;
- 支持IE和Firefox,未来支持更多浏览器,当浏览器不支持JS或者不是MagicAjax支持的类型的时候,页面将渲染成传统的形式。
28. Anthem.NET
和传统的Ajax技术相比,Anthem.NET有以下优点:
- 不需要任何技术升级,以前不会使用Ajax技术的人员,按照以往的编程方式就可以实现异步交互;
- 支持ASP.NET1.0和ASP.NET 2.0
29. Cross-Platform Asynchronous Interface Toolkit
CPAINT是一个真正可以同时支持PHP、ASP/VBScript脚本的Ajax和JSRS工具包。CPAINT在后台为开发人员提供了需要的Ajax和JSRS代码,并且自动返回到浏览器端相应的JavaScript脚本代码,它有如下特性:
- 支持PHP和ASP;
- 所有功能函数都在统一的Javascript文件中;
- 支持远程脚本和XML;
- 支持本地和远程函数调用;
- 可以创建单个或多个XMLHttpRequest对象;
- 返回给后台数据既可以是文本也可以是XML/DOM文档对象;
- 支持POST和GET;
- 用服务端代理的方法实现远程函数和数据的访问操作;
- 大部分浏览器中测试正常使用;
- 在GNU、GPL、LGPL开源协议保护下发行。
30. SAJAX
SAJAX的实现方式很独特。例如调用一个Javascript方法x_calculateBudget(),先把响应传到服务器,同时调用一个Java calculateBudge()方法,然后以Javascript方式把值返回到x_calculateBudge_cb()中。它的缺点就是这套映射理论感觉较繁琐,远不如一些轻量级的封装库好用,不过SAJAX最大的特点就是支持的平台很丰富(比如ASP/ColdFusion/Io/Lua/Perl/PHP/Python/Ruby),几乎囊括了Web下常用的编程语言和平台,可以很方便地从Javascript函数映射到服务端代理操作。
31. Javascript Object Notation(JSON) and JSON-RPC
其主要特点如下:
- JSON是一个"face-free"XML,而JSON-RPC是一个远程交互协议,类似于XML-RPC,对JavaScript支持较强。
- 支持多服务端平台:Java、Python、Ruby、Perl;
- 针对不同的平台有不同的包和许可协议,如JSON-RPC-JAVA。
32. JavaScript Remote Scripting
其主要特点如下:
- JSRS是经典的远程脚本访问组件,支持将客户端数据通过服务器做代理进行远程的数据/操作交互;
- 支持的浏览器:IE4+、NS4.x、NS6.x、Mozilla、Opera7和Galeon;
- 服务端脚本语言支持:ASP、ColdFusion、PerlCGI、PHP、Python和JSP(servlet)。
- 开源协议,由Brent Ashley提供支持。
33. CL-Ajax
其主要特点如下:
- CL-Ajax实现Javascript直接调用服务端Lisp;
- 生成可带参数的函数;
- 可以回调Javascript函数或者DOM对象;
- 可以集成到SAJAX中;
- 开源许可。
34. AjaxAspects
其主要特点如下:
- AjaxAspects是个可以用Javascript调用服务端Web Service时间的引擎;
- 用标准的SOAP和WSDL进行服务端-客户端通信;
- 用简单的类型和XML对象支持带参数的返回值;
- 缓存支持;
- 动作队列;
- 免费使用,开源协议。
35. AjaxAC
其主要特点如下:
- AjaxAC用一个单独类封装了完整的应用程序功能;
- 所有的功能集成在自包含的类中(另外附带一些JavaScript库);
- 调用PHP文件或者HTML页面非常简易,只需创建APP类后把类引用传递给需要调用的JavaScript对象或者HTML元素即可;
- 捕获JavaScript事件;
- 可以自定义配置数据,并且支持运行时参数更改;
- 无需在Javascript代码中夹杂凌乱的Html代码,所有事件都是被动态附加上的;
- 由于以上两个优点,所以支持良好的模板引擎;
- 容易Hook到PHP类和MySql数据已返回给自己的request;
- 能够容易地用JavaScript建立窗口模式应用程序。
36. JPSpan
其主要特点如下:
- JPSpan通过Javascript直接调用PHP中的函数;
- 进行了严谨的单元测试;
- 开源许可(PHP)。
37. XAJAX
其主要特点如下:
- XAJAX通过Javascript直接调用PHP中的函数;
- 支持用Javascript调用PHP脚本;
- 开源许可协议
38. Ruby On Rails
其主要特点如下:
- Ruby On Rails是一个支持Ajax的完整Web框架,使用Ruby语言编写,严格按照MVC结构开发;
- 当Ajax出现的时候Rails还处于其发展的早期,Ajax可能逐渐成为Rails框架的核心;
- 生成浏览器中大多数/全部的Window应用组件和动画的Javascript脚本。
- 支持服务端调用;
- 队列支持;
- 开源许可。
附:
AjaxPatterns上开发框架的WIKI页