关于Ajax的架构介绍及解决方案_第1页
关于Ajax的架构介绍及解决方案_第2页
关于Ajax的架构介绍及解决方案_第3页
关于Ajax的架构介绍及解决方案_第4页
关于Ajax的架构介绍及解决方案_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

精品文档-下载后可编辑关于Ajax的架构介绍及解决方案1纯Javascript:应用程序框架

1.1Bindows(自从2022年)

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

1.2BackBase(自从2022年)

是一个全面的浏览器端框架,支持丰富的浏览器功能以及与。NET和Java的集成。商业化,来自于BackbaseB.V(总部在Amsterdam,成立于2022年)。

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

提供全面窗口小组件和浏览器-服务器消息支持,为创建定制的窗口小组件提供框架支持。

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

是一多用途框架,支持Ajax基础结构和用户交互。

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

是另一个雄心勃勃的框架,提供宽范围的UI支持和正在开发中的基础结构特性。

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

目的是提供高度可移植的和全面的API,结果是,可能自动生成大量的客户端代码。自称是“企业级Ajax”。

2纯:基础结构框架

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

是一基本的线程安全的XMLHttpRequest包装器,主要针对Ajax新手,仍处于原始的alpha开发阶段,

2.2Flash集成包

允许和Flash内容的集成

2.3GoogleAJAXSLT(发行于2022年6月)

是一个框架,用来执行XSLT转换以及XPath查询。

2.4HTMLHttpRequest(Beta版;始于2022年)

HtmlHttpRequest它使用了XMLHttpRequest和Iframes以改进兼容性。

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

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

2.6LibXMLHttpRequest(发行于2022年6月)

libXmlRequest是XMLHttpRequest的一个瘦包装器。

2.7RSLite(x)

是一个针对XMLHttpRequest的瘦包装器。

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

是一个针对XMLHttpRequest的瘦包装器。

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

是一种JavascriptAPI,它封装了在浏览器端可以独立调用XML的功能。

2.10XHCONn(发行于自从4月,2022年)

是一个对XMLHttpRequest的瘦包装器。

2.11Jquery

简洁的思想:几乎所有操作都是以选择DOM元素(有强大的Selector)开始,然后是对其的操作(Chaining等特性)。

3服务器端:多种语言

3.1跨平台异步的接口工具箱(5月2022年)

是一真正的支持PHP和ASP/Vbscript的Ajax实现和JSRS(JavaScript远程脚本)实现。CPAINT提供给你需求的代码在后台实现AJAX和JSRS,而返回的数据以JavaScript形式在前台操作,格式化和显示。这允许你创建能提供接近实时的反馈给用户的web应用程序。

3.2SAJAX(可用,但是不是1.0版本;自从3月2022年)

直接把调用从Javascript发送到你的服务器端语言并再次回返。

3.3Javascipt对象标志(JSON)和JSON-RPC

是一个“胖的自由的XML选择”,而JSON-RPC是一种远程过程协议,类似于XML-RPC,强有力支持Javascript客户。

3.4Javascript远程脚本(JSRS)(自从2000年)

直接把调用从Javascript发送到你的服务器端语言并再次回返。

4服务器端:Java

4.1WebORBforJava(自从2022年8月)

是一个平台,支持开发AJAX和基于Flash的胖客户端应用程序,并可以把它们与Java对象和XMLWeb服务相系起来。在线举例(http:///examples)

4.2Echo2(自从3月2022年)

允许你用纯Java代码编写Ajax应用软件

4.3DirectWebRemoting(DWR)(2022年)

是一个框架,用于直接从Javascript代码中调用Java方法。

4.4SWATO(2022年)

是一套可重用的和良好集成的Java/JavaScript库,它实现了一种更容易的方式来改变你的web应用程序的交互,它是通过AJAX方式实现。

5服务器端:Lisp

5.1CL-Ajax

实现Javascript直接调用服务器端Lisp函数。

6服务器端:。NET

6.1WebORBfor.NET(自从8月2022年)

是一个平台,用于开发AJAX和基于Flash的胖客户端应用程序,并能把它们连接到。NET对象和XMLWeb服务

6.2Ajax.NET(自从3月2022年)

是一个库,实现从Javascript到服务器端。NET的存取。

7服务器端:PHP

7.1AjaxAC(自从2022年4月)

用单个的PHP类封装了完整的应用程序。

7.2JPSpan

直接把Javascript调用传递到PHP函数。

7.3XAJAX

直接把Javascript调用传递到PHP函数。

8服务器端:Ruby

是一个通常的强力支持Ajax的web框架:

开发Ajax应用面临的问题及解决方案

对程序员而言,开发Ajax应用头痛的问题莫过于以下几点:

Ajax在本质上是一个浏览器端的技术,首先面临无可避免的个问题即是浏览器的兼容性问题。各家浏览器对于JavaScript/DOM/CSS的支持总有部分不太相同或是有Bug,甚至同一浏览器的各个版本间对于JavaScript/DOM/CSS的支持也有可能部分不一样。这导致程序员在写Ajax应用时花大部分的时间在调试浏览器的兼容性而非在应用程序本身。因此,目前大部分的Ajax链接库或开发框架大多以js链接库的形式存在,以定义更高阶的JavaScriptAPI、JavaScript对象(模板)、或者JavaScriptWidgets来解决此问题。如prototype.js。

Ajax技术之主要目的在于局部交换客户端及服务器之间的数据。如同传统之主从架构,无可避免的会有部分的业务逻辑会实现在客户端,或部分在客户端部分在服务器。由于业务逻辑可能分散在客户端及服务器,且以不同之程序语言实现,这导致Ajax应用程序极难维护。如有用户接口或业务逻辑之更动需求,再加上前一个JavaScript/DOM/CSS之兼容性问题,Ajax应用往往变成程序员的梦魇。针对业务逻辑分散的问题,Ajax开发框架大致可分为两类:

将业务逻辑及表现层放在浏览器,数据层放在服务器:因为所有的程序以JavaScript执行在客户端,只有需要数据时才向服务器要求服务,此法又称为胖客户端(fatclient)架构。服务器在此架构下通常仅用于提供及储存数据。此法的好处在于程序员可以充分利用JavaScript搭配业务逻辑来做出特殊的用户接口,以符合终端用户的要求。但是问题也不少,主因在,JavaScript语言本身之能力可能不足以处理复杂的业务逻辑。第二,JavaScript的执行效能一向不好。第三,JavaScript访问服务器数据,仍需适当的服务器端程序之配合。第四,浏览器兼容性的问题又出现。有些Ajax开发框架如DWR企图以自动生成JavaScript之方式来避免兼容的问题,并开立通道使得JavaScript可以直接调用服务器端的Java程序来简化数据的访问。但是前述及第二两个问题仍然存在,程序员必须费相当的力气才能达到应用程序之规格要求,或可能根本无法达到要求。

将表现层[2]、业务逻辑、及数据层放在服务器,浏览器仅有用户接口引擎(UserInterfaceengine);此法又称为瘦客户端(thinclient)架构,或中心服务器(server-centric)架构。浏览器的用户接口引擎仅用于反映服务器的表现层以及传达用户的输入回到服务器的表现层。由浏览器所触发之事件亦送回服务器处理,根据业务逻辑来更新表现层,然后反映回浏览器。因为所有应用程序完全在服务器执行,数据及表现层皆可直接访问,程序员只需使用服务器端相对较成熟之程序语言(如Java语言)即可,不需再学习JavaScript/DOM/CSS,在开发应用程序时相对容易。缺点在于用户接口引擎以及表现层通常以标准组件的形式存在,如需要特殊组件(用户接口)时,往往须待原框架之开发者提供,缓不济急。如开源码Ajax开发框架ZK目前支持XUL及XHTML组件,尚无XAML之支持。

Ajax是以异步的方式向服务器提交需求。对服务器而言,其

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论