ajax 框架

 以下Ajax开发框架大多来自于《Ajax Web2.0快速入门与项目实践(.net)》一书。

1. Bindows

      Bindows是一个通过DHTML、JavaScript、CSS和HTML等技术强劲联合起来的完整的Windows桌面式Web应用程序解决方案。 它无需下载安装客户端支持组件(如Java、ActiveX或Flash),仅仅需要一个浏览器。纯OO的理念体现在Bindows任何地方,或许 Bindows是笔者见过的最完整、最强大的Ajax应用程序平台。一个强大的Demo见此。

     Bindows是商业程序,使用了来自MB的技术(总部位于GA USA,主要开发中心在瑞典,成立于2002年)。

     Bindows框架提供的功能和特性如下:

   

基于面向对象技术的类和API;

一套完整的Windows桌面系统,支持各种特性窗口模式,包括菜单、表单、表格、滑动条、测量仪器窗口和其它一些Windows窗口特性支持;

是开发zero-footprint(零空间占用)SOA客户端应用程序首选工具包;

本机的XML,SOAP和XML-RPC支持;

单用户到企业级开发的支持;

内建的完美的Ajax支持;

Bindows开发环境;

支持企业规模的项目开发;

跨浏览器、跨OS平台的支持;

不受服务器结构限制;

良好的与新的、现有的资源互操作性;

统一的开发接口。

2. BackBase

      Backbase软件包含了带有附加库的JavaScript引擎,可以支持J2EE和.NET,它能够运行在任何环境,你可以用服务器端语言(ASP、 JSP、PHP等)动态生成页面内容。由于JavaScript可以运行在多种浏览器上,所以客户端无需安装任何插件。Backbase的基本引擎驱动了 客户端用户界面的扩展,Web程序能实现SPI(Single Page Interface)模式或者MPI(MultiPage Interface)模式。

      Backbase软件包含3个版本:The communcity edition(只包含客户端)、J2EE BPS和.Net BPS。在后面的两个版本中,Backbase Presentation Server简化了服务端、业务逻辑和应用程序数据在胖客户端、轻量和交互式的Web应用程序中的整合。动态数据通过XML进行交互。

      Backbase完全兼容了Web标准,包括结构化语言、表示语言、对象模型和脚本语言。它基于工业标准,Java、XML、XHTML、CSS和DOM 等都可以很好的运行在主流浏览器上。Backbase使用BXML,BXML是一种基于XML的平台中立的UI定义语言,用于描述在Web浏览器中运行的 动态用户界面。
      BXML有以下重要特性:

   

DHTML和Ajax:它提供了一种强大的DHTML和Ajax的概念,不需要了解底层的跨浏览器的JavaScript编程;

扩展机制(Extensible Mechanism):所有的XHTML元素可以用BXML属性扩展,也可以创建自定义标签;

基于模型的范例(Model-based paradigm):BXML的基于模型的范例允许开发人员构建数据驱动的胖客户端,轻松的增加已存在的HTML站点和Web应用程序,定义UI行为无须使用脚本语言;

无障碍UI控件:一系列标记实现了控件,比如树结构和菜单。

3. DOJO

DOJO具有以下特点:

   

提供完整的轻量级窗口组件和浏览器-服务器消息映射支持;

提供创建自定义JavaScript窗口组件的框架支持;

预置的丰富的窗口类型库;

B/S消息映射支持--XMLHttpRequest和其它机制;

支持浏览器中的URL操纵功能;

开源许可(Academic Free License 2.1),由JotSpot的Alex Russell所领导。

附:AjaxPatterns上有一个详细的关于Ajax

4. Open Rico

OpenRico是一个支持Ajax架构和用户交互的多用户框架,该框架具有以下特性:

   

一个XMLHttpRequest response能被一个或多个DOM对象或者JavaScript对象调用;

支持拖拽操作;

支持基于Ajax的动画模式,如缩放和变换等;

基于Behaviors的操作库;

使用指南,由RussMirimar的Yonah提供;

开源,源于Sabre航空公司解决方案,由Bill Scott,Darren James及另外一些人维护。

5. qooxdoo 

qooxdoo是另一个迅猛发展的应用框架,提供广泛的UI支持。

基础结构特性包括:

   

能轻易的捕获和操纵DOM事件;

支持调试;

支持一个时间操作的Timer类;

Getter/Setter支持。

UI特性包括:

   

窗口组件库和框架;

界面布局管理;

图像缓存和透明PNG图片处理;

开源(LGPL)。

 6. Tibet

Tibet提供了大量的易移植且完整的JavaScript API,通过这些可以快速生成大量的客户端源代码,Tibet自称是企业级Ajax,其特点如下:

   

远程脚本调用封装在XMLHttpRequest中;

URI支持;

支持所有的HTTP事件,不再仅仅是GET和POST;

低级的协议-File://和WebDav也可以当作HTTP正常使用;

Web Services调用支持,包括SOAP、XML-RPC等;

大型的JavaScript对象库;

多种多样的XML操作支持;

IDE和开发工具

开源协议(OSI)。

 7. AJFORM  

 AJFORM是一个极易掌握的Ajax框架,被用来编写入门级的Ajax代码,提供以下功能:

   

三步安装;

自动支持任意HTML表单元素;

几乎无需编码即可实现Ajax。

8. AjaxCaller

AjaxCaller是一个具有多线程安全访问的XMLHttpRequest组件,主要针对Ajax开发新手,目前仍处于alpha开发阶段,仅在AjaxPatterns的在线搜索范例中使用过该程序,其特点如下:

   

用明文或者XML结构的数据实现和服务器的交互(GET/POST/PUT/DELETE);

支持XMLHttpRequest对象的析构(销毁对象,C++支持内存对象的析构操作);

支持Response的高速缓存(尚在计划中);

简单的库文件代码易于新手学习使用,并且支持脚本调试;

开源协议。

9. Flash JavaScript Integration Kit

The Flash JavaScript Integration Kit可以实现Flash和JavaScript脚本的集成,可以在JavaScript中调用Flash ActionScript脚本,反之亦然。它支持双方主要数据类型在不同环境下的传递调用。

10. Google AJAXSLT

Google AJAXSLT 是一个开源协议(BSD)JavaScript框架,用来执行XSLT转换以及XPath查询。目前已经在Google Map中应用。

11. HTMLHttpRequest

HtmlHttpRequest 最大的特点就是运用了XMLHttpRequest对象和标准HTML标签IFrame来实现最大限度的跨浏览跨平台的Ajax支持,其原理是在支持 XMLHttpRequest的浏览器上调用XMLHttp;如果不支持,就用IFrame来模拟调用异步交互。它的主要特征如下:

   

目前支持的浏览器包括:IE6/Win、IE5.5/Win、IE5/Win、IE4/Win、Mozilla/Win、Opera7/Win、Safari/Mac、IE5/Mac;

尚未测试的浏览器:IE4/Mac、Mozilla/Mac、Opera/Other、Konqueror/Linux;

开源协议(LGPL)。

12. Interactive Website Framework

Interactive Website Framework是定位在浏览器中支持各种各样的Ajax基础应用的开源项目。自称是通过JavaScript、CSS、XML和HTML,能够实现高 性能的交互式Web框架。它包括一个可定制的易读的XML解析器。实际上,IWF是一个Ajax的基础框架,包括一些通用的脚本代码,它的特点如下:

   

实现了线程安全的XMLHttpRequest;

对XML Document进行封装,以便创建更具有可读性的代码;

原始的DOM操作读取;

开源协议。

13. LibXMLHttpRequest

LibXMLHttpRequest是一个小型的XMLHttpRequest封装包,它利用getXML()和postXML()两个事件简化了XMLHttpRequest调用,并且支持XMLHttpRequest对象池、Response缓存处理。

14. MAJAX

MAJAX是另一个非常小巧的XMLHttpRequest封装包,为收发字符型信息提供了简单接口,并且为每步动作设置了回调界面。

15. RSLite

RSLite是一个XMLHttpRequest封装组件,作为Brent Ashley的JSRS(JavaScript Remote Scripting)其中的部分功能单独发布。

16. Sack

Sack也是很有名的微型XMLHttpRequest封装包。调用者可以自定义回调函数或者DOM对象。借助回调DOM对象,可以把Response回来的数据直接以文本的方式嵌入到DOM中。

17. Sarissa

Sarissa是一个JavaScript API,封装了在浏览器独立调用XML的功能,它具有以下的特性:

  • 可移植的XMLHttpRequest对象创造;

  • 可移植的XPath查询;

  • 可移植的DOM操控;

  • 可移植的XSLT;

  • 可移植的XML序列化;

  • 开源协议(GPL2.0和LGPL2.1)。

18 XHConn

XHConn也是一个小型的XMLHttpRequest封装库。特点是调用简单,代码清晰易读。

19. WebORB

WebORB 是开发基于Flash的富客户端应用程序的开发平台。它包括一个富客户端开发类库,其主要特点如下:

  • 提供简单的在线式API用来绑定或者调用任何Java,.NET对象、XML Web Services;

  • 支持异步或同步的事件驱动;

  • 不需要在服务端修改任何代码,不需要自定义方法或属性、变量等。不要求设计时指定代理等;

  • 同步调用不需要回调,异步调用需要一个回调方法;

  • 客户端可以向服务端请求指定的活动方式,不需要任何编程就可以把处理结果轻易地转变状态;

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

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

  • 支持以参数方式返回所有服务器端数据类型,如primitives, strings, complex types, arrays, native collections, remote references;

  • 目前有两个--标准版(免费)和专业版(商业许可)。

20. Echo 2

其主要特点如下:

  • Echo2 允许用纯Java语言编写Ajax程序;

  • 自动生成HTML和JavaScript代码;

  • 用XML在客户端-服务端传递消息;

  • 如果愿意支持自定义JavaScript组件;

  • 开源协议(Mozilla Public License or GNU LGPL)。 

  •  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


转载于:https://my.oschina.net/u/1451483/blog/415030

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值