Ajax开发框架

 

来自CSDN读书频道 <<征服Ajax web2.0快速入门与项目实践(.net)>>

最近在看这本书,再CSDN找到这些内容,贴过来了

基于浏览器的应用框架(Application Frameworks)
1.Bindows
参考网址:http://www.bindows.net/
Bindows是一个通过DHTML、JavaScript、
CSS和HTML等技术强劲联合起来的完整的Windows桌面式Web应用程序解决方案。它无需下载安装客户端支持组件(如Java、ActiveX或Flash),仅仅需要一个浏览器。纯OO的理念体现在Bindows任何地方,或许Bindows是笔者见过的最完整、最强大的Ajax应用程序平台。
Bindows是商业程序,使用了来自MB的技术(总部位于GA USA,主要开发中心在瑞典,成立于2002年)。
Bindows框架提供的功能和特性如下:
·     基于面相对象技术的类和API;
·     一套完整的Windows桌面系统,支持各种特性窗口模式,包括菜单、表单、表格、滑动条、测量仪器窗口和其他一些Windows窗口特性支持;
·     是开发zero-footprint(零空间占用)SOA客户端应用程序首选工具包;
·     本机的XML,SOAP和XML-RPC支持;
·     单用户到企业级开发的支持;
·     内建的完美的Ajax支持;
·     Bindows开发环境;
·     支持企业级规模的项目开发;
·     跨浏览器、跨OS平台的支持;
·     不受服务器结构限制;
·     良好的与新的、现有的资源互操作性;
·     统一的开发接口。
2.BackBase
参考网址:http://www.backbase.com/
Backbase软件包含了带有附加库的JavaScript引擎,可以支持J2EE和.NET,它能够运行在任何环境,你可以用服务器端语言(ASP、JSP、PHP等)动态生成页面内容。由于JavaScript可以运行在多种浏览器上,所以客户端无需安装任何插件。Backbase的基本引擎驱动了客户端用户界面的扩展,Web程序能实现SPI(Single
Page Interface)模式或者MPI(MultiPage Interface)模式。
Backbase软件包含3个版本:The community 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
参考网址:http://dojotoolkit.org/
DOJO具有以下的特点:
·     提供完整的轻量级窗口组件和浏览器-服务器消息映射支持;
·     提供创建自定义JavaScript窗口组件的框架支持;
·     预制的丰富的窗口类型库;
·     B/S消息映射支持XMLHttpRequest和其他机制;
·     支持浏览器中的URL操纵功能;
·     开源许可(Academic Free License 2.1),由JotSpot的Alex Russell所领导。
4.Open Rico
参考网址:http://openrico.org/rico/home.page
Open Rico是一个支持Ajax架构和用户交互的多用途框架,该框架具有以下特性:
·     一个XMLHttpRequest response能被一个或多个的DOM对象,或者JavaScript对象调用;
·     支持拖拽操作;
·     支持基于Ajax的动画模式,如缩放和变换等;
·     基于Behaviors的操作库;
·     使用指南,由RussMirimar的Yonah提供;
·     开源,源于Sabre航空公司解决方案,由Bill Scott,Darren James及另外一些人维护。
5.qooxdoo
参考网址:http://qooxdoo.oss.schlund.de/
qooxdoo是另一个发展迅猛的应用框架,提供广泛的UI支持。
基础结构特性包括:
·     能轻易的捕获和操纵DOM事件;
·     支持调试;
·     支持一个时间操作的Timer类;
·     Getter/Setter支持。
UI特性包括:
·     窗口组件库和框架;
·     界面布局管理;
·     图像缓存和透明PNG图片处理;
·     开源(LGPL)。
6.Tibet
参考网址:http://www.technicalpursuit.com/ajax_indepth.htm
Tibet提供了大量的易移植且完整的JavaScript API,通过这些可以快速生成大量的客户端代码,Tibet自称是企业级Ajax,其特点如下:
·     远程脚本调用封装在XMLHttpRequest中;
·     URI支持;
·     支持所有的HTTP事件,不再仅仅是GET和POST;
·     低级的协议-File://和WebDav也可以当作HTTP正常使用;
·     Web Services调用支持,包括SOAP、XML-RPC等;
·     大型的JavaScript对象库;
·     多种多样的XML操作支持;
·     IDE和开发工具;
·     开源协议(OSI)。
7.AJFORM
参考网址:http://www.redredmusic.com/brendon/ajform/
AJFORM是一个极易掌握的Ajax框架,被用来编写入门级的Ajax代码,提供以下功能:
·     三步安装;
·     自动支持任意HTML表单元素;
·     几乎无需编码即可实现Ajax。

 

基于浏览器的应用框架(Infrastructural Frameworks)
1.AjaxCaller
参考网址:http://www.ajaxify.com/run/testAjaxCaller/
AjaxCaller是一个具有多线程安全访问的XMLHttpRequest组件,主要针对Ajax开发新手,目前仍处于alpha开发阶段,仅在AjaxPatterns的在线搜索范例中使用过该程序,其特点如下:
·     用明文或者XML结构的数据实现和服务器的交互(GET/POST/PUT/DELETE);
·     支持XMLHttRequest对象的构析(销毁对象,C++支持内存对象的构析操作);
·     支持Response的高速缓存(尚在计划中);
·     简单的库文件代码易于新手学习使用,并且支持脚本调试;
·     开源协议。
2.Flash JavaScript Integration Kit
参考网址:http://weblogs.macromedia.com/flashJavaScript/
The Flash JavaScript Integration
Kit可以实现Flash和JavaScript脚本的集成,可以在JavaScript中调用Flash
ActionScript脚本,反之亦然。它支持双方主要数据类型在不同环境中的传递调用。
3.Google AJAXSLT
参考网址:http://goog-ajaxslt.sourceforge.net/
Google AJAXSLT是一个开源协议(BSD)JavaScript框架,用来执行XSLT转换以及XPath查询。目前已经在Google Map中应用。
4.HTMLHttpRequest
参考网址:http://www.twinhelix.com/JavaScript/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)。
5.Interactive Website Framework
参考网址:http://sourceforge.net/projects/iwf/
Interactive Website
Framework是定位在浏览器中支持各种各样的Ajax基础应用的开源项目。自称是通过JavaScript、CSS、XML和HTML,能够实现高性能的交互式Web框架。它包括一个可定制的易读的XML解析器。实际上,IWF是一个Ajax的基础框架,包括一些通用的脚本代码,它的特点如下:
·     实现了线程安全的XMLHttpRequest;
·     对XML Document进行封装,以便创建更具有可读性的代码;
·     原始的DOM操作读取;
·     开源协议。
6.LibXMLHttpRequest
参考网址:http://www.imnmotion.com/reference/2005/09/09/libXmlRequest.html
libXmlRequest是一个小型的XMLHttpRequest封装包,它利用getXML()和postXML()两个事件简化了XMLHttpReuqest调用,并且支持XMLHttpRequest对象池、Response缓存处理。
7.MAJAX
参考网址:http://unips.sourceforge.net/devblog/?page_id=2
MAJAX是另一个非常小巧的XMLHttpRequest封装包,为收发字符型信息提供了简单接口,并且为每步动作设置了回调界面。
8.RSLite
参考网址:http://www.ashleyit.com/rs/rslite/
RSLite是一个XMLHttpRequest封装组件,作为Brent Ashley的JSRS(JavaScript Remote
Scripting)其中的部分功能单独发布。
9.Sack
参考网址:http://twilightuniverse.com/2005/05/sack-of-ajax/
Sack也是很有名的微型XMLHttpRequest封装包。调用者可以自定义回调函数或者DOM对象。借助回调DOM对象,可以把Response回来的数据直接以文本的方式嵌入到DOM中。
10.Sarissa
参考网址:http://sourceforge.net/projects/sarissa
Sarissa是一个JavaScript API,封装了在浏览器端独立调用XML的功能,它具有以下的特性:
·     可移植的XMLHttpRequest对象创造;
·     可移植的XPath查询;
·     可移植的DOM操控;
·     可移植的XSLT;
·     可移植的XML序列化;
·     开源协议(GPL2.0和LGPL2.1)。
11.XHConn
参考网址:http://xkr.us/code/JavaScript/XHConn/
XHConn也是一个小型的XMLHttpRequest封装库。笔者也曾经使用过改良后的XHConn,其特点就是调用简单、代码清晰易读。

 

基于服务器端的应用框架(Java)
1.WebORB for Java
参考网址:http://www.themidnightcoders.com/weborb/
WebORB for Java是开发Ajax并且基于Flash的富客户端应用程序的开发平台。它包括一个富客户端开发类库,其主要特点如下:
·     提供简单的在线式API用来绑定或者调用任何Java对象、XML Web Services和EJB;
·     支持异步或同步的事件驱动;
·· 不需要在服务端修改任何代码,不需要自定义方法或属性、变量等。不要求设计时指定代理等;
·· 同步调用不需要回调,异步调用需要一个回调方法;
·· 客户端可以向服务端请求指定的活动方式,不需要任何编程就可以把处理结果轻易地转变状态;
··
提供一个特定API来处理数据库查询结果-服务器代码能返回DataSet或者DataTable,而客户端以一个类似于RecordSet的JavaScript对象来显示这个结果,该对象提供检索列名和行数据的方法;
·· 支持数据分页技术。客户应用程序能检索页面中的数据;
·· 支持以参数的方式返回所有服务期端数据类型,如primitives、strings、complex types、arrays、native .net
collections、remote references;
·· 目前有两个版本—标准版(免费)和专业版(商业许可)。
2.Echo 2
参考网址:http://www.nextapp.com/platform/echo2/echo/
其主要特点如下:
·     Echo 2允许用纯Java语言编写Ajax程序;
·     自动生成HTML和JavaScript代码;
·     用XML在客户端-服务端传递消息;
·     如果愿意支持自定义JavaScript组件;
·     开源协议(Mozilla Public License or GNU LGPL)。
3.Direct Web Remoting (WDWR)
参考网址:https://dwr.dev.java.net/
其主要特点如下:
·     Direct Web Remoting可以在JavaScript代码中直接调用Java方法的应用框架;
·     类似于SAJAX,可以把JavaScript中的请求调用转递到Java方法中并将执行结果返回给JavaScript;
·     可以和任何Web框架一起使用,如Struts、Tapestry等;
·     开源(Apache),目前该产品被加入到WebWork中。
4.SWATO
参考网址:https://swato.dev.java.net/doc/html/
其主要特点如下:
·     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应用程序的组件(如自动完成的文本框、在线表单、在线列表等)。
5.AJAX JSP Tag Library
参考网址:http://ajaxtags.sourceforge.net/
The AJAX JSP Tag
Library是一组JSP标签库,用于Ajax程序开发。在J2EE下可以无需JavaScript就能轻松开发Ajax模式的Web
Form。标签库为比较通用的Ajax功能提供了5个标签。
·     autocomplete:用户在文本框中输入字符,自动从指定的数据中匹配用户输入的字符,类似于Google Suggest。
·     callout:可以为A标签加入气泡式的消息提示框,不过是实时的服务端取出数据。
·     Select/dropdown:类似于联动菜单,比如地州市的联动下拉框。
·     toggle:开关闸按钮,比如在一个hidden表单域中存储true和falsh,同时显示相应的img图像。
·     update field:更新数据,也就是无刷新提交了。
6.AJAX Java Server Faces Framework
参考网址:http://www.jsfcentral.com/listings/P4010?link
The AJAX-JSF用来把任意的JSF应用程序转变为Ajax应用程序。

 

基于服务器端的应用框架(.NET)
1.Bitkraft for ASP.NET
参考网址:http://www.tiggrbitz.com/
Bitkraft是个基于Web框架(.NET的CLR公共语言运行库),允许用独特的方式创建和操作分布式Web内容。它采用C#编写,运行在微软公司的.NET
1.1和Mono框架下。无缝式的客户端-服务器响应方式是它的最大特点。Bitkraft没有使用XML组织数据,而是用JSON代替。其主要特点如下。
·     支持的浏览器包括IE5+、Firefox1+、NS6。
·     服务器端要求ASP.NET、Mono XSP、Cassini、Apache(modMono) .NET Framework 1.1+事件驱动。
·     支持同步和异步的远程代理。
·     客户端支持所有的.NET类型或自定义类对象映射到JSON中。
·     用JSON取代XML。
·     免费,开源许可协议。
2.WebORB for .NET
参考网址:http://www.themidnightcoders.com/weborb/
其主要特点如下。
·     WebORB for .NET是一个用.NET和XML Web Services方式开发Ajax和基于Flash的富客户端应用程序的平台。
·     WebORB包括一个富客户端开发类库,提供简单的在线式API用来绑定或者调用任何.NET对象、XML Web Services。
·     支持异步或同步的事件驱动。
·     不需要在服务端修改任何代码,不需要自定义方法或属性、变量等,不要求设计时指定代理等。
·     同步调用不需要回调,异步调用需要一个回调方法。
·     客户端可以向服务端请求指定的活动方式,不需要任何编程就可以把处理结果轻易地转变为状态。
·    
提供一个特定API来处理数据库查询结果,服务器代码能返回DataSet或者DataTable,而客户端以一个类似于RecordSet的JavaScript对象来显示这个结果。该对象提供检索列名和行数据的方法。
·     支持数据分页技术,客户应用程序能检索页面中的数据。
·     支持以参数的方式返回所有服务期端数据类型,如primitives、trings、omplex types、rrays、ative .net
collections、remote references。
·· 目前有两个版本:标准版(免费),专业版(商业许可)
3.Ajax.NET
参考网址:http://ajax.schwarz-interactive.de/csharpsample/default.aspx
Ajax.NET是首家支持以各种方式通过JavaScript访问服务端.NET的免费库,类似于SAJAX。它能把JavaScript请求发送到.NET方法,服务端传回给JavaScript,甚至包括串行化自定义类。其主要特点如下:
·     可以在JavaScript中访问Session和Application数据;
·     缓存查询结果;
·     免费使用源代码;
·     无需更改源代码,允许给Ajax.NET添加和修改方法和属性;
·     所有类支持JavaScript客户端返回数据,可以在JavaScript中使用DataSet;
·     使用HtmlControls组件访问和返回数据;
·     页面无需重载,用事件代理(数据访问层);
·     因为只提供一个调用接口方法,所以服务端CPU占用非常少。
4.ComfortASP.NET
参考网址:http://www.comfortasp.de/
ComfortASP.NET可以让开发者在纯.NET下开发类似Ajax(DHTML,JavaScript,XMLHttp)特性的应用程序。其主要特点如下:
·     快速应答;
·     减少HTML传输;
·     减少页面重载;
·     无闪烁的浏览器内容更改;
·     良好的Ajax用户体验。
5.Magicajax
参考网址:http://www.magicajax.net/
Magicajax以最简单的方式将Ajax功能整合到页面中,不需要修改ASP.NET控件,也不需要编写新的控件,更不需要撰写JAVASCRIPT,它有如下的特性:
·     应用配置简单,易于上手;
·     只用一个AJAXPANNEL就实现Ajax功能,只要把需要无刷的控件放进AJAXPANNEL就可以了;
·     不需要编写复杂的JAVASCRIPT;
·    
Ajax功能和普通的POSTBACK可以共存于一个WEBFORM,MAGICAJAX处理模块只处理包含在AJAXPANNEL中的控件的CALLBACK动作;
·    
VIEWSTATE的内容对于POSTBACK和CALLBACK来说,都是可见的,因此,无论是CALLBACK产生的VIEWSTATE,还是POSTBACK产生的,都是可见的;
·     提供一个类似POSTBACK的AJAXCALL的事件模型;
·     支持IE和FIREFOX,未来支持更多浏览器,当浏览器不支持JS或者不是MAGICAJAX支持的类型的时候,页面将渲染成传统的形式。
6.Anthem.NET
参考网址:http://sourceforge.net/projects/anthem-dot-net
和传统的Ajax技术相比,Anthem.NET有以下优点:
·     不需要任何技术升级,以前不会使用Ajax技术的人员,按照以往的编程方式就可实现异步交互;
·     支持ASP.NET 1.0 和 ASP.NET 2.0。

 

基于服务器端的应用框架(其他)
1.Cross-Platform Asynchronous INterface Toolkit
参考网址:http://cpaint.booleansystems.com
CPAINT是一个真正可以同时支持PHP、ASP/VBScript脚本的Ajax和JSRS工具包。CPAINT在后台为开发人员提供了需要的Ajax和JSRS代码,并且自动返回到浏览器端相应的JavaScript脚本代码,它有如下的特性:
·     支持PHP和ASP;
·     所有功能函数都在统一的JavaScript文件中;
·     支持远程脚本和XML;
·     支持本地和远程函数调用;
·     可以创建单个或多个XMLHttpRequest对象;
·     返回给后台的数据即可以是文本也可以是XML/DOM文档对象;
·     支持POST和GET;
·     用服务端代理的方式实现远程函数和数据的访问操作;
·     大部分浏览器中测试正常使用;
·     在GNU、GPL、LGPL开源协议保护下发行。
2.SAJAX
参考网址:http://www.modernmethod.com/sajax
SAJAX的实现方式很独特,例如:调用一个JavaScript方法x_calculateBudget(),先把响应传到服务器,同时调用一个Java
calculateBudget()方法,然后以JavaScript方式把值返回到x_calculateBudget_cb()中。它的缺点就是这套映射理论感觉较繁琐,远不如一些轻量级的封装库好用,不过SAJAX最大的特点就是支持的平台很丰富(比如ASP/ColdFusion/
Io/Lua/Perl/PHP/Python/Ruby),几乎囊括了Web下常用的编程语言和平台,可以很方便地从JavaScript函数映射到服务端代理操作。
3.Javascipt Object Notation(JSON)and JSON-RPC
参考网址:http://freshmeat.net/projects/json-rpc-java/
其主要特点如下:
·     JSON是一个“face-free”XML,而JSON-RPC是一种远程交互协议,类似于XML-RPC,对JavaScript支持较强。
·     支持多服务端平台:Java、Python、Ruby、Perl。
·     针对不同的平台有不同的包和许可协议,如JSON-RPC-Java。
4.JavaScript Remote Scripting(JSRS)
参考网址:http://www.ashleyit.com/rs/jsrs/test.htm
其主要特点如下:
·     JSRS是经典的远程脚本访问组件,支持将客户端数据通过服务器做代理进行远程的数据/操作交互。
·     支持的浏览器:IE4+、NS4.x、NS6.x、Mozilla、Opera7和Galeon。
·     服务器端脚本语言支持:ASP、ColdFusion、PerlCGI、PHP、Python和JSP(servlet)。
·     开源协议,由Brent Ashley提供支持。
5.CL-Ajax
参考网址:http://www.cliki.net/cl-ajax
其主要特点如下:
·     CL-Ajax实现JavaScript直接调用服务端Lisp;
·     生成可带参数的函数;
·     可以回调JavaScript函数或者DOM对象;
·     可以集成到SAJAX中;
·     开源许可。
6.AjaxAspects
参考网址:http://ajaxaspects.blogspot.com/
其主要特点如下:
·     AjaxAspects是个可以用JavaScript调用服务端Web Service事件的引擎;
·     用标准的SOAP和WSDL进行服务端-客户端通信;
·     用简单的类型和XML对象支持带参数的返回值;
·     缓存支持;
·     动作队列;
·     免费使用,开源协议。
7.AjaxAC
参考网址:http://ajax.zervaas.com.au/
其主要特点如下:
·     AjaxAC用一个单独类封装了完整的应用程序功能;
·     所有的功能集成在自包含的类中(另外附带一些JavaScript库);
·     调用PHP文件或者HTML页面非常简易,只需创建App类后把类引用传递给需要调用的JavaScript对象或者HTML元素即可;
·     捕获JavaScript事件;
·     可以自定义配置数据,并且支持运行时参数更改;
·     无需再JavaScript代码中夹杂凌乱的Html代码,所有事件都是被动态附加上的;
·     由于以上两个优点,所以支持良好的模版引擎;
·     容易Hook到PHP类和MySql数据已返回给自己的request;
·     能够容易地用JavaScript建立窗口模式应用程序。
8.JPSpan
参考网址:http://jpspan.sourceforge.net/wiki/doku.php
其主要特点如下:
·     JPSPAN通过JavaScript直接调用PHP中的函数;
·     进行了严谨的单元测试;
·     开源许可(PHP)。
9.XAJAX
参考网址:http://www.xajaxproject.org
其主要特点如下:
·     XAjax通过JavaScript直接调用PHP中的函数;
·     支持用JavaScript调用PHP脚本;
·     开源许可协议。
10.Ruby On Rails
参考网址:http://www.rubyonrails.org/
其主要特点如下:
·     Ruby On Rails是一个支持Ajax的完整Web框架,使用Ruby语言编写,严格按照MVC结构开发;
·     当Ajax出现的时候Rails还处于其发展的早期,Ajax可能逐渐成为Rails框架的核心;
·     生成浏览器中大多数/全部的Window应用组件和动画的JavaScript脚本。
·     支持服务器端调用;
·     队列支持;
·     开源许可。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值