代码改变世界

Ajax开发框架(下)[整理]

2009-03-29 22:32  老博客哈  阅读(1172)  评论(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应用程序的组件(如自动完成的文本框、在线表单、在线列表等)。

 23. AJAX JSP Tag Library

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