转至繁体中文版     | 网站首页 | 图文教程 | 资源下载 | 站长博客 | 图片素材 | 武汉seo | 武汉网站优化 | 
最新公告:     敏韬网|教学资源学习资料永久免费分享站!  [mintao  2008年9月2日]        
您现在的位置: 学习笔记 >> 图文教程 >> 站长学院 >> Web开发 >> 正文
基于Ajax的应用程序架构汇总         ★★★★

基于Ajax的应用程序架构汇总

作者:闵涛 文章来源:闵涛的学习笔记 点击数:1296 更新时间:2009/4/23 11:25:51

  浏览器端框架被划分成两大类:

  ·应用程序框架:提供浏览器的功能,但是常以包括窗口小部件抽象和另外的部件而出名,其功能主要围绕桌面GUI框架。

  ·基本结构框架:提供基本的管道和可移植的浏览器抽象,让开发者去创建内容。典型的功能:

  * 针对XMLHttpRequest的包装器以封装浏览器-服务器的交互。(所有的框架都提供这一功能)。

  * XML操作和查询。

  * 根据来自XMLHttpRequest的应答执行DOM操作。

  * 在一些情况中,与另外的浏览器端技术如Flash(和潜在的Java applets)集成在一起。

  而服务器端框架通常以下面两种方式工作(尽管它们在这里根据语言的不同进行了分类):

  ·HTML/JS生成:服务器提供完整的HTML/Javascript代码生成和浏览器-服务器协调,结果是只有浏览器端编码可以被定制。

  ·远程调用:Javascript调用直接被路由到服务器端功能(例如Java方法)并返回到Javascript回叫处理器;或者Javascript调用服务器以提取信息,例如会话细节,数据库查询等。

  ·纯Javascript:应用程序框架

  1.1 Bindows(自从2003年)

  网址是:http://www.bindows.net,Bindows是一个软件开发包(SDK),它,通过强力联合DHTML,JavaScript,CSS和XML等技术,能生成高度交互的互联网应用程序-成为现代的桌面应用程序的强有力对手。Bindows应用程序不要求下载和也不需要在用户端安装-仅要求有一个浏览器(也不需要Java,Flash或者ActiveX)。Bindows有可能领导面向对象开发的AJAX应用程序的平台。

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

  Bindows框架提供给你:

  ·基于类的面向对象的API

  ·一套完整的窗口系统,提供宽范围的窗口小部件支持,包括菜单、表单、格子、滑动条、量程,甚至更多

  ·用于开发zero-footprint SOA客户端应用程序的领先的工具箱

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

  ·单用户到企业级的支持

  ·内建的对AJAX的支持

  Bindows开发环境:

  ·支持企业级规模的工程开发

  ·跨浏览器,跨平台支持

  ·服务器独立结构

  ·与新的和现有资源的互操作性

  ·一致性开发方法学

  1.2 BackBase(自从2003年)

  网址是:http://www.backbase.com,是一个全面的浏览器端框架,支持丰富的浏览器功能以及与.NET和Java的集成。

  ·商业化,来自于Backbase B.V(总部在Amsterdam,成立于2003年)。

  1.3 DOJO(开发中;自从2004年9月)

  网址是:http://dojotoolkit.org/,提供全面窗口小组件和浏览器-服务器消息支持。

  ·为创建定制的Javascript窗口小组件提供框架支持。

  ·预置的窗口小组件库。

  ·浏览器-服务器消息支持-XMLHttpRequest和另外的机制。

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

  ·开源许可(学术自由许可2.1(http://opensource.org/licenses/afl-2.1.php)),由JotSpot(http://www.jot.com/)的Alex Russell(http://alex.dojotoolkit.org/)所领导。

  1.4 Open Rico(开发中;自从2005年5月;基于早期的私有框架)

  网址是:http://openrico.org/demos.page,是一多用途框架,支持Ajax基础结构和用户交互。

  ·一个XMLHttpRequest应答能被路由到一个或者更多回叫操作,DOM对象,或者Javascript对象。

  ·容易鼠标拖动支持。

  ·Ajax动画,例如缩放和变换。

  ·"行为"-实质上是窗口小组件库。

  ·使用指南(http://www.mirimar.net/mailbrowser/),由RussMirimar的Yonah所提供

  ·开源。源于Sabre航空公司解决方案,由Bill Scott(http://looksgoodworkswell.blogspot.com),Darren James及另外一些人所支持。

  1.5 qooxdoo(开发中;自从2005年5月)

  网址是:http://qooxdoo.sourceforge.net/,是另一个雄心勃勃的框架,提供宽范围的UI支持和正在开发中的基础结构特性。

  ·基础结构:

  * DOM和事件/焦点管理的可移植的抽象。

  * 调试支持。

  * 易于时间调度的Timer类。

  * Getter/Setter支持。

  ·UI:

  * 窗口小组件框架和预置的窗口小组件库。

  * 布局管理器。

  * 图像缓冲和可移植的PNG透明性。

  ·开源(LGPL)。来自多方面的贡献者。

  1.6 Tibet(开发中;自从2005年6月)

  网址是:http://www.technicalpursuit.com/,目的是提供高度可移植的和全面的Javascript API,结果是,可能自动生成大量的客户端代码。自称是"企业级Ajax"。

  ·远程脚本运行在XMLHttpRequest包装之上-通过协调调用结果支持工作流管理,例如应答可以发生在只有当两个分离的调用返回时。

  ·URI支持。

  ·所有的HTTP方法-不仅是"GET"和"POST"。

  ·低级的协议-File://和WebDav以及HTTP。

  ·Web服务调用-SOAP,XML-RPC,等等。

  ·预置的针对Google API,Amazon API等等服务的支持。

  ·由高级Javascript对象组成一个巨大的库。

  ·许多XML操作。

  ·IDE和开发工具。

  ·开源许可(显然经过OSI认证,但是细节不多)。

  2 纯Javascript:基础结构框架

  2.1 AjaxCaller(Alpha版本;自从5月2005年)

  网址是:http://ajaxify.com/run/testAjaxCaller/,是一基本的线程安全的XMLHttpRequest包装器,主要针对Ajax新手,仍处于原始的alpha开发阶段,目前仅与AjaxPatterns的在线搜索范例一起打包。

  ·实现对服务器的调用(GET/POST/PUT/DELETE),用路由到一个回叫操作的plain-text或者XML完成。

  ·使用过的XMLHttpRequest对象的析构。

  ·Response缓冲(计划的)。

  ·针对Ajax新手-并非强调性能优化,该库主要用于实现易读的基础代码并将提供调试支持。

  ·开源许可。由Michael Mahemoff(http://softwareas.com)(具有John Wehr和Richard Schwartz的一些思想)维护。

  2.2 Flash JavaScript集成包

  网址是:http://www.osflash.org/doku.php?id=flashjs,允许JavaScript和Flash内容的集成:

  ·使JavaScript能够调用ActionScript功能和反过来的实现。

  ·所有主要的数据类型能在这两种环境之间传递。

  ·开源许可。由多个开源Flash贡献者提供支持。

  2.3 Google AJAXSLT(发行于2005年6月)

  网址是:http://goog-ajaxslt.sourceforge.net/,是一个Javascript框架,用来执行XSLT转换以及XPath查询。

  ·建立在Google地图工作基础之上。

  ·开源许可(BSD)。由一家创新搜索方案公司支持,自称为"Google"。

  2.4 HTMLHttpRequest(Beta版;始于2005年)

  HtmlHttpRequest(http://www.twinhelix.com/javascript/htmlhttprequest/),它使用了XMLHttpRequest和Iframes以改进兼容性。

  ·测试过并能工作在: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)。由Twin Helix Designs(http://www.twinhelix.com/)的Angus Turnbull维护。

  2.5 交互式网站框架(自从2005年5月)

  交互式网站框架(http://sourceforge.net/projects/iwf/,是一个项目,目的是从浏览器端对Ajax基础结构的多方面予以支持。自描述为"使用javascript,css,xml,和html来创造高度交互网站的框架。包括一个定制的针对高度可读的javascript的xml分析器。实质上,是建立基于AJAX的网站的基础,还有另外一些通用脚本"。

  ·线程安全的XMLHttpRequest实现。

  ·针对XML文档的包装器,以便你能够创建更具可读性的代码:

var node = doc.groceries.frozen[0].pizza[0].size;</pre>

  代替手工的导航:

var node = doc.documentElement.firstChild.firstChild.getAttribute("size");</pre>

  ·开源许可。由Weaver(http://circaware.com|Brock)维护。

  2.6 LibXMLHttpRequest(发行于2003年6月)

  libXmlRequest(http://www.whitefrost.com/servlet/connector?file=reference/2003/06/17/libXmlRequest.html),是XMLHttpRequest的一个瘦包装器。

  ·getXML()和postXML()方法。

  ·XMLHttpRequest对象池支持。

  ·Response缓冲。

  ·可用源码(明显),但是受标准版权的保护,由Stephen W.Coate(http://www.whitefrost.com/index.jsp)所维护。

  2.7 RSLite(x)

  网站是:http://www.ashleyit.com/rs/main.htm,是一个针对XMLHttpRequest的瘦包装器。

  ·一个简单的组件,作为Brent Ashley的更全面的远程脚本工作(参见Javascript远程脚本-JSRS在多语言服务器端)的一部分发行。

  2.8 Sack(在开发中,自从2005年5月)

  网站是:http://twilightuniverse.com/2005/05/sack-of-ajax/,是一个针对XMLHttpRequest的瘦包装器。

  ·调用者能指定回叫函数或者回叫DOM对象。借助于回叫DOM,应答文本直接被推入到DOM中

  2.9 Sarissa(发行于2月,2003年)

  网站是:http://sarissa.sf.net,是一种Javascript API,它封装了在浏览器端可以独立调用XML的功能。

  ·可移植的XMLHttpRequest创建

  ·可移植的XPath查询

  ·可移植的DOM操作

  ·可移植的XSLT

  ·可移植的XML串行化

  ·开源(GPL2.0和LGPL2.1)。来自多方面贡献者。

  2.10 XHConn(发行于自从4月,2005年)

  网站是:http://xkr.us/code/javascript/XHConn/,是一个对XMLHttpRequest的瘦包装器。

  ·例如:

  new XHConn().connect("mypage.php","POST","foo=bar&baz=qux",fnWhenDone);

  ·开源许可。由Brad Fults所维护。

  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>

[1] [2]  下一页


没有相关教程
教程录入:mintao    责任编辑:mintao 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      注:本站部分文章源于互联网,版权归原作者所有!如有侵权,请原作者与本站联系,本站将立即删除! 本站文章除特别注明外均可转载,但需注明出处! [MinTao学以致用网]
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    同类栏目
    · Web开发  · 网页制作
    · 平面设计  · 网站运营
    · 网站推广  · 搜索优化
    · 建站心得  · 站长故事
    · 互联动态
    更多内容
    热门推荐 更多内容
  • 没有教程
  • 赞助链接
    更多内容
    闵涛博文 更多关于武汉SEO的内容
    500 - 内部服务器错误。

    500 - 内部服务器错误。

    您查找的资源存在问题,因而无法显示。

    | 设为首页 |加入收藏 | 联系站长 | 友情链接 | 版权申明 | 广告服务
    MinTao学以致用网

    Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved.
    闵涛 投放广告、内容合作请Q我! E_mail:admin@mintao.net(欢迎提供学习资源)

    站长:MinTao ICP备案号:鄂ICP备11006601号-18

    闵涛站盟:医药大全-武穴网A打造BCD……
    咸宁网络警察报警平台