CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
IBM Rational 系统开发最佳实践工具包 WebSphere MQ 最佳实践 TOP 15
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Web 开发 >  Ajax

担任版主后第一贴:发布收集的ajax框架,17.3M

楼主iuhxq(小灰)2006-03-17 21:03:05 在 Web 开发 / Ajax 提问

http://www.zhgx.cn/ajax.zip  
   
  共享框架有分  
   
  有了框架,我们可以减少好多重复劳动 问题点数:200、回复次数:14Top

1 楼wuyg(平平)回复于 2006-03-17 22:07:45 得分 20

顶Top

2 楼singlepine(小山)回复于 2006-03-17 23:55:38 得分 20

支持下Top

3 楼superdullwolf(超级大笨狼,每天要自强,MVP)回复于 2006-03-18 08:59:42 得分 20

好!!Top

4 楼loucai(羽)回复于 2006-03-18 09:20:21 得分 20

支持Top

5 楼daixingyao(我算哪根葱)回复于 2006-03-18 10:10:41 得分 20

好东西!Top

6 楼liujian098(飞天)回复于 2006-03-18 10:24:45 得分 20

收下!Top

7 楼Gerryjiang(下一站)回复于 2006-03-18 10:45:03 得分 20

不错,谢谢了!Top

8 楼liuyxit(初学Oracle)回复于 2006-03-18 12:56:22 得分 0

怎不先贴个说明Top

9 楼sungcong(三松)回复于 2006-03-18 13:09:39 得分 20

谢谢Top

10 楼ljlyy(亮亮)回复于 2006-03-18 17:40:39 得分 20

先收着Top

11 楼iuhxq(小灰)回复于 2006-03-18 21:13:44 得分 0

附录B    
  Ajax框架介绍  
  此为止,你可能已经注意到,使用Ajax编程时有很多麻烦事。如果你要支持多个浏览器(现在还有谁只支持一个浏览器呢?),无疑会遭遇不兼容问题。单看一个简单的动作,比如说创建XMLHttpRequest对象的一个实例,这需要先进行浏览器测试。一旦开始尝试使用Ajax技术,你很快就会注意到要反复地完成同样的一些任务。当然,你可以收集一些常用代码库,甚至创建自己的框架。不过,做这个工作之前,需要先了解一下现在已经有些什么了。  
  与所有优秀技术一样,Ajax已经催生出大量框架,有了这些框架,开发人员的日子好过多了。我们要强调一点,Ajax还很新,而且还在发展,框架领域也同样如此。几乎每天都有新来者,目前还看不出谁是最后的赢家。2003年6月之前,这方面的框架还不多,所以在以后的几个月可能还会有巨大变化。  
  有些框架基于客户端,有些基于服务器端;有些专门为特定语言设计,另外一些则与语言无关。其中绝大多数都有开源实现,但也有少数是专用的。我们不会面面俱到地谈到每一个框架,而且也不可能深入分析提到的每个框架。我们的出发点很明确,就是让你对现在有些什么有所认识。在你读到本附录时,我们提到的一些工具包可能已经销声匿迹,另外的则可能刚刚创建。哪个框架最适合你?对于这个问题,只有你自己有发言权;不过,在框架领域稳定之前,你可以持一种保守的态度。甚至还有人在着力将各种框架合并在一起,等这个工作结束时应该会有好戏看!当你读到本书时,情况应该会更加明朗,但也许你还想了解一下目前的情况[ 1.   对你来说,这可能要算是“过去”的情况了。——译者注]。  
  B.1 浏览器端框架  
  下面几节介绍了一些浏览器端框架。  
  B.1.1 Dojo  
  Dojo是最老的框架之一,于2004年9月开始开发。这个项目的目标是建立充分利用XHR的DHTML工具包,并把重心放在可用性问题上。Dojo只有几个文件,不用处理XHR的建立,只需调用bind方法,并传入想调用的URL和回调方法即可。就这么简单。还可以使用bind方法来提交整个表单。  
  Dojo有一个特性使它独树一帜,这就是它支持向后和向前按钮。尽管这个特性不一定在每个浏览器上都能用(遗憾的是,Safari就是一个异类),但你确实可以注册一个回调方法,在用户点击了向后按钮或向前按钮时触发这个方法。Dojo还提供了changeURL标记,力图解决使用Ajax所固有的书签问题。  
  Dojo看上去是相对成熟的工具包之一,它把重点放在可用性上,这一点很不错。Dojo表现得相当稳定,在它身后还有一些支撑力量。Dojo的邮件列表相当活跃,多看一些文档可能更有帮助。可以在dojotoolkit.org得到更多相关信息。  
  B.1.2 Rico  
  Rico是市场上最新的框架之一,由Sabre   Airline   Solutions开发,随后又成为开源实现。当然,rico在西班牙语里就是rich,说明这个项目的总目标是提供一组组件来开发丰富的因特网应用。它得到了广泛的浏览器支持,不过让人不解的是Safari[ 1.   在使用Ajax技术时,IE最不合群,总是有一些奇怪的行为,很不合标准,人们对这一点颇多诟病,IE也明智地接受了大多数抱怨,问问本书作者就知道了!可是,写这本书时,我们还发现Safari也有如此之多的“奇特”行为(这让最近转向Mac的人大为失望)。]并不支持Rico。  
  与Dojo关注可用性不同,Rico则是针对拖放动作、数据网格和所谓的电影效果(移动部件、淡入淡出等等)而设计。Rico网站上有很多有意思的演示版(DEMO),并且提供了代码。如果开发人员想尽快了解Rico,并且运行起来,这是一个很好的起点。相关的文档不多,不过随着这个框架的日渐成熟,这种情况会有所改观。  
  Rico可以作为单个文件下载,不过你可能还需要Prototype   JS库。更多有关的信息请访问openrico.org/home.page。  
  B.1.3 qooxdoo  
  qooxdoo也是Ajax框架领域的一个新成员,它提供了一个基于JavaScript的工具包来弥补HTML的不足。尽管还处在早期的alpha阶段,但qooxdoo确实提供了一些相当引人注目的部件。使用qooxdoo,可以模拟标准胖客户应用中的一些特性,如菜单条、工具提示、网格布局和拖放支持。  
  qooxdoo确实有一些有用的文档,还对底层细节提供了很有帮助的解释。qooxdoo的魅力显然体现在它的复杂部分上。如果你的目标是创建瘦应用,并希望它与胖客户应用相差无几,就可以试试qooxdoo。更多有关的信息请访问qooxdoo.oss.schlund.de。  
  B.1.4 TIBET  
  你觉得Ajax最早是什么时候出现的?根据对此的解释,也许会认为TIBET可能是现存最老的框架。根据文档所述,TIBET小组从1997年就开始开发这个工具包,他们的目标是提供企业级Ajax支持。TIBET看上去不只是包装了XMLHttpRequest对象,它还对Web服务和底层协议提供了支持,并且提供了Google、Amazon和许多其他常用服务的预置包装器。  
  真正让TIBET卓而不群的是,它有一个完全交互式的基于浏览器的IDE,这能大大简化开发、调试和单元测试。更多有关的信息请访问www.technicalpursuit.com。  
  B.1.5 Flash/JavaScript集成包  
  在Ajax之前,Flash很是风行,很多Web网站都建立在Flash平台上。那些曾对Flash狠下一番功夫的人不想完全放弃Flash,利用这个开源项目就能同时利用Ajax技术。这个工具包在所有主要浏览器上都能用,使得JavaScript能够调用ActionScript,ActionScript也能调用JavaScript。可以来回传递大量对象,包括日期、串和数组。  
  Flash/JavaScript集成包的安装涉及一些JavaScript文件,以及两个用于Flash的库函数。从页面上调用ActionScript函数只需几行代码而已。有关的文档相当少,不过,如果你想使用Ajax访问Flash,这个工具包就很值得研究。更多有关的信息请访问weblogs.macromedia.com/flashjavascript/。  
  B.1.6 Google   AJAXSLT  
  基于Google   Maps的工作,Google   AJAXSLT是使用XPath的XSL转换(XSLT)的JavaScript实现。XSLT可以把XML文档转换为其他语言,如HTML。AJAXSLT允许使用JavaScript在浏览器上直接完成这些转换。  
  Google   AJAXSLT在所有主要浏览器上都能工作,它是在BSD许可证下发布的。这个工具包很小,包括几个JavaScript文件,还有一些方便的测试页。Google   AJAXSLT不是十全十美的,不过,如果Google   Suggest有所提示,我们希望Google   AJAXSLT的缺点能很快解决。因为Google是最先使用Ajax的网站之一,我们会很有兴致地看到在未来几个月它还会有所增加。更多有关的信息请访问goog-ajaxslt.sourceforge.net。Top

12 楼iuhxq(小灰)回复于 2006-03-18 21:13:52 得分 0

B.1.7 libXmlRequest  
  libXmlRequest框架也是比较老的一个框架,早在2003年就已经发布了。这个框架包括一个JavaScript文件,它相当于XMLHttpRequest对象的一个包装器,提供了两个重载的请求函数:getXml和postXml。另外,它有一些处理缓冲池和缓存的属性,还有一些工具函数处理常见的任务,如解析来自服务器的XML以及修改DOM。  
  这个工具包能在哪些浏览器上运行,这一点还不是很清楚,而且有关的文档相当少。这个工具包版权归其作者Stephen   W.   Cote所有,其中没有提到许可问题。因此,只能用它帮助你产生灵感。更多有关的信息请访问www.whitefrost.com/index.jsp。  
  B.1.8 RSLite  
  RSLite是远程脚本的一个实现,由Brent   Ashley编写。从技术上讲,它没有利用作为Ajax核心的XMLHttpRequest对象,但是得到了更广泛的浏览器支持。如果你需要支持原来的浏览器,而这些浏览器不支持XMLHttpRequest对象,就可以试试RSLite。RSLite是相当轻量级的,已从2000年发展至今[ 1.   前面提到,Ajax框架是从2003年发展到现在,不过RSLite确实从2000年就开始发展。RSLite是关于远程脚本的,而远程脚本出现在Ajax之前。]。更多有关的信息请访www.ashleyit.com/rs/rslite/。  
  B.1.9 SACK  
  SACK(简单Ajax代码包)开发为一个瘦包装器,包装了XMLHttpRequest对象。其作者Gregory   Wild-Smith认为,其他的许多框架太过复杂,而且做了许多本不该它们完成的任务。所以他创建了SACK来简化Ajax的开发。SACK包括几个可以简化服务器调用的方法。比起具体创建适当的XMLHttpRequest对象实例来说,用更少的代码就能向服务器发送数据,并处理响应。  
  SACK由一个JavaScript文件组成,其中包含很少的代码。SACK底层软件的发布得到了修改X11许可(也称为MIT许可),与大多数开源项目一样,它的文档并不多,不过,入门肯定还是绰绰有余的。SACK的真正强大之处在于它的简单性,如果你要找的是一个基本包装器,可以试试SACK。更多有关的信息请访问twilightuniverse.com/projects/sack/。  
  B.1.10 sarrisa  
  sarissa有一点是Ajax做不到的,它以一种独立于浏览器的方式对XML   API提供了包装支持。利用这个框架,创建和使用XMLHttpRequest对象实在是小菜一碟(不用检查浏览器,它已经为你处理好了)。另外,sarissa还对使用DOM提供了支持。类似于Google   AJAXSLT,sarissa也支持XSLT,它模拟了IE上的Mozilla处理器。  
  sarissa只包括几个类,在GPL协议下发布。Mozilla/Firefox和IE都充分支持sarissa,只在Opera、Konqueror和Safari浏览器上有些函数不能用。更多有关的信息请访问sarissa.sourceforge.net/doc/。  
  B.1.11 XHConn  
  XHConn类似于SACK,它相当于XMLHttpRequest对象的一个简单包装器。你不用直接使用XMLHttpRequest对象,只需首先启动一个XHConn实例,与使用XHR同样的方法加以处理。也就是说,无需浏览器检查,并提供了一种简单的方法来确定浏览器是否支持XHR(这对于需要妥善降级的网站尤其方便)。  
  XHConn在Safari、IE、Mozilla、Firefox和Opera上都能工作。类似于大多数Ajax框架,这是一个开源实现,在Creative   Commons   License协议下发布。XHConn是一个代码不多的文件,不过它确实做到了该做的事情——简化Ajax。更多有关的信息请访问xkr.us/code/javascript/XHConn/。  
  B.2 服务器端框架  
  以下介绍服务器端的框架。  
  B.2.1 CPAINT  
  CPAINT(跨平台异步接口工具包)在服务器端实现Ajax,它向客户返回文本或DOM文档对象,以便用JavaScript处理。CPAINT在大多数主要浏览器上都能用,而且支持远程脚本,在GPL协议下发布。这个项目的文档相当完备,不过,CPAINT只支持PHP和ASP。更多有关的信息请访问sourceforge.net/projects/cpaint/。  
  B.2.2 Sajax  
  利用Sajax,可以直接从JavaScript调用服务器端代码。Sajax支持Perl、Python、Ruby和ASP等语言(不过奇怪的是,目前并不支持Java)。安装Sajax相当简单,只涉及针对特定服务器语言的简单的库。Sajax的开发社区极其活跃。已经确认的只有IE   6和Mozilla/Firefox提供Sajax支持,不过本书作者认为它在Safari上也能很好地使用。更多有关的信息请访问www.modernmethod.com/sajax。  
  B.2.3 JSON/JSON-RPC  
  JavaScript对象注解(JSON)是一种文本格式,与XML很相似,可以用于交换数据。JSON的设计要保证两方面,一方面便于人阅读,另一方面便于机器解析,它使用了C系列语言类似的约定。与JSON相关的还有JSON-RPC,这是一个远程过程调用(RPC)协议,类似于XML-RPC,但面向的是JSON语言。作为规约,JSON-RPC在许多语言中都有实现,包括Java、Ruby、Python和Perl。  
  由于JSON-RPC是规约,你需要知道哪个特定实现适用于你的环境,还要充分了解特定的实现。取决于具体的实现,有些实现的文档相当完备,有些则根本没有。开发人员的参与程度也有很大不同。关于JSON-RPC规约的讨论已经有些少了。更多有关的信息请访问   www.crockford.com/JSON/index.html。  
  B.2.4 Direct   Web   Remoting  
  利用Direct   Web   Remoting   (DWR),你能从JavaScript直接调用Java方法,就好像它们是浏览器的本地方法一样。尽管后台严格限制为Java,但DWR仍然是最流行的框架之一。DWR的文档是最棒的,还有一些有用的例子可以帮助你入门。  
  安装并不难,不过还要编辑Web应用的部署描述文件,另外要编辑DWR特定的文件。DWR配置文件指定了可以远程创建和调用的类,而且文档中警告用户:从浏览器调用服务器确实存在一些安全问题。除了包含服务器端代码的JAR文件,另外还有两个JavaScript文件包含了一些辅助函数。DWR适用于一些常见的Web框架,如Struts和Tapestry,在Apache协议下发布。如果想从Web页面调用Java方法,DWR能助你一臂之力。更多有关的信息请访问getahead.ltd.uk/dwr/index。  
  B.2.5 SWATO  
  Shift   Web   Applications   TO   (SWATO)也是一个基于Java的Ajax框架解决方案。SWATO在所有Servlet   2.3或更高版本的容器中都能工作,类似于DWR,它也需要对配置文件做一些更新。有意思的是,SWATO充分利用了JSON来完成客户和服务器之间数据的编组,与本附录中讨论的其他一些框架相似,它也允许从浏览器调用服务器端Java。为了帮助开发人员,SWATO包括许多可复用的组件,如自动完成文本框等。  
  与使用其他框架相比,使用SWATO要相对复杂一些,要访问的类需要实现一个SWATO接口。不过,其文档相当完备,对于入门来讲绰绰有余。SWATO设计为使用Spring来打包服务,但是不一定非得如此。更多有关的信息请访问https://swato.dev.java.net/doc/html/。  
  B.2.6 Java   BluePrints  
  Sun的BluePrints小组一直忙于将Ajax纳入他们的解决方案目录(Solutions   Catalog)中。Solutions   Catalog包括一些很好的文档,描述了如何使用基本Ajax,如何实现自动完成,如何创建一个进度条以及如何验证表单。它还包括JavaServer   Faces组件。为BluePrints   Solutions   Catalog开发的代码可以从www.java.net网站得到。  
  B.2.7 Ajax.Net  
  Ajax.Net之于Microsoft   .NET就相当于SAJAX、DWR和SWATO之于Java。利用Ajax.Net,你能从JavaScript客户调用.NET方法。Ajax.Net包括一个DLL,可以与VB   .NET或C#一同使用。Ajax.Net的文档很好地展示了针对各种场景的解决方案,而且能得到相关的源代码。不过,Ajax.Net的许可协议很不明确。更多有关的信息请访问ajax.net。  
  B.2.8 Microsoft的Atlas项目  
  Microsoft在Ajax领域涉足的时间已经不短了,毕竟,XMLHttpRequest对象是Microsoft发明的,而且从1998年开始就已经用在Web版本的Outlook中。Microsoft把重点放在提供一个更加健壮的开发环境上,从而让开发人员的工作更轻松。Microsoft的着眼点还不只这些,还力图提供客户端脚本框架、ASP.NET控件和Web服务集成。Microsoft还发布了Atlas项目,作为其ASP.NET   2.0预览版的一部分。有Microsoft的介入,开发人员的工具包可能会比今天充实得多。更多有关的信息请访问beta.asp.net/default.aspx?tabindex=7&t-abid=47。  
  B.2.9 Ruby   on   Rails  
  Rails是一个令人兴奋的新Web框架,建立在Ruby语言基础上。如今,Rails已经得到了大量关注(在Google上查一下Rails,可以找到更多信息),这是因为使用Rails能够快速开发基于Web的应用。开发Basecamp时,37signals小组提出名为Rails的框架。Basecamp正是Ajax应用的主要示例,所以看到Rails对Ajax提供如此充分的支持,我们不应感到奇怪。Rails有许多内置的JavaScript库,其中包装了很多常用的特性,它还包含一个模块,其中包装了Ruby的JavaScript调用。如果你在使用Rails,就会发现Ajax非常简单。更多有关的信息请访问www.rubyonrails.org。  
  Top

13 楼emu(月亮不在手指尖上)回复于 2006-03-18 21:47:29 得分 20

ajaxbeta\Ajax.dll     用来干吗的呢?  
   
  上面这附录,怎么看着这么眼熟呢,楼主有电子版?Top

14 楼iuhxq(小灰)回复于 2006-03-18 23:31:41 得分 0

这个是.net   2.0版的  
   
  上面这个附录也只是书的一部分,我没有完整电子版Top

相关问题

  • AJAX资料收集
  • 分享一些收集到关于AJAX的资料!
  • m,m,m,m,m,m,m
  • 收集!
  • frontpage做框架
  • 框架问题!!!
  • 框架问题
  • 关于框架
  • 框架问题??
  • 框架问题!

关键词

  • .net
  • asp.net
  • 框架
  • 浏览器
  • ajax
  • 文档
  • rails
  • 服务器
  • 代码
  • 函数

得分解答快速导航

  • 帖主:iuhxq
  • wuyg
  • singlepine
  • superdullwolf
  • loucai
  • daixingyao
  • liujian098
  • Gerryjiang
  • sungcong
  • ljlyy
  • emu

相关链接

  • Web开发类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo