阅读更多
作者: Flyingis
这学期一直忙着找工作、毕业论文和毕业前的各种手续,学习速度放慢了不少,大多数时候只是上来看看。现在正式开始充电,补充新的知识,为了工作需要,首先从客户端技术Ajax开始。
Ajax高手在Blogjava上有不少,还有众多潜水高手,在这里,随笔记录的仅仅是自己的学习轨迹,不足之处希望大伙能指出,和大家一起讨论,帮助我提高。“工欲善其事,必先利其器”,首先总结一些Ajax常用的框架。
Ajax框架有基于服务器端和客户端两种,多数是开源实现,并且发展速度很快。
服务器端框架
1. Sajax
Sajax拥有活跃的社区,支持Perl、Python、Ruby、ASP等语言,每种语言Sajax都有一个简单的库,利用Sajax可以直接从JavaScript调用服务器代码。
官方网站: http://www.modernmethod.com/sajax 。
2. JSON
JSON作为JavaScript语言的一个子集,是一种描述数据的轻量级语法,和XML类似,用于交换数据。XML相关的有XML-RPC,JSON也有JSON-RPC远程调用协议,它在Java、Ruby、Python、Perl中都有实现。
网上参考:http://www.crockford.com/json/ 。
3. DWR
DWR这个字眼出现的频率较高,在网上搜索了一下,查到DWR全称是Direct Web Remoting,代表着可以直接从JavaScript远程调用Java方法。使用DWR需要一些额外的配置,如编辑Web应用的描述文件,编辑DWR的配置文件,来指定可以远程创建和调用的类,从这种方式可以看出其中存在一些安全隐患,但是,由于DWR支持常用的Struts/WebWork/Tapestry Web框架,在Apache协议下发布,加上丰富的文档资料,使得DWR在Java领域非常流行。
介绍DWR的相关文章可以参考:
http://www.blogjava.net/mstar/category/2359.html
http://www.blogjava.net/zkjbeyond/category/11348.html
更多信息可以访问: http://getahead.ltd.uk/dwr/index 。
4. Buffalo
Buffalo是由国人开发的Ajax框架。Buffalo中定义了Web远程调用的传输基础,并且将远程调用对象完整的序列化到了本地,成为可以被JavaScript编程触及的对象。Buffalo中的重要组件-BuffaloBinding,提供了将JavaScript对象绑定到HTML元素的能力。这种绑定将是无侵入的,只需要在HTML元素中加入若干个不影响排版的属性,即可将数据与界面绑定。Buffalo1.2引入了新的众多的特性包括,新的重新改写的Spring集成,与流行JavaScript库Prototype的集成,支持浏览器前进后退按钮等等。
下载链接: http://www.amowa.net/buffalo/ 。[引自CSDN]
5. Ajax.Net
顾名思义,Ajax.Net是.Net平台下的Ajax框架,它可以从JavaScript客户端调用.Net方法。Ajax.Net所包括的DLL可以和VB.Net/C#配合使用,其相关文档也很多。参考网站: http://ajax.net/ 。
6. Atlas
这是Microsoft的一个项目,其特点在于提供客户端脚本框架、ASP.Net控件及Web服务集成。微软的项目,还是值得关注的。
相关介绍: http://blog.joycode.com/saucer/archive/2005/06/30/58284.aspx/ 。
7. Ruby on Rails
这个就不用多说了,前段时间开始就炒的异常火热的一个框架,建立在Ruby语言基础上,其最显著的特性是能够快速开发Web应用,使用Rails会觉得Ajax非常简单。Rails拥有许多JavaScript库,另外有一个模块封装了Ruby的JavaScript调用。对各种Rails的介绍,可以参考 江南白衣的文章 各系Rails大点兵。网站参考: http://www.rubyonrails.org/ 。
客户端框架
1. Dojo
最老的框架之一,2004年9月开始开发,它具有一个独特的特性,即支持向后和向前按钮,通过注册一个回调的方法,使得用户在点击向后和向前按钮的时候调用改方法,实现后退前进的功能。Dojo是相对成熟的工具包之一。
具体内容参考网站: http://dojotoolkit.org/ 。
2. Rico
Rico侧重点在于拖放效果、数据网格、自定义页面布局、淡入淡出等人性化效果的轻易实现,使用Rico需要Prototype.js库来支撑, zkjbeyond有关于Prototype.js的 基本介绍。
Rico官方网站: http://openrico.org/home.page/ 。
3. Flash/JavaScript集成库
当我刚进入大学的时候,Flash技术和JavaScript特效都是当时网络中最流行的字眼,但Flash丰富的用户体验更让人印象深刻,
小小系列以及
雪村的网络MTV都是比较早的作品,还有众多Flash制作的网站。在现在Ajax流行的环境下,Flash的臃肿和需要安装插件机制使得它不再那么耀眼,但是如果要混合使用Flash和Ajax,则可以使用Flash/JavaScript集成库,这个工具集可以使得JavaScript和ActionScript(Flash中支持的语言)能够相互调用,传递数据。
相关资料可以访问: http://weblogs.macromedia.com/flashjavascript/ 。
4. SACK
SACK是一个针对XMLHttpRequest的瘦包装器,可以简化Ajax开发,它由一个JavaScript文件组成,包含很少的代码,入门比较方便,它最主要的特性应该就是足够简单。
相关信息可以访问: http://twilightuniverse.com/projects/sack/ 。
5. RSLite
RSLite是远程脚本的一个实现,从2000年开始发展。它的特性在于拥有广泛浏览器的支持(因为没有利用XMLHttpRequest对象),它是一个轻量级的框架。
网站信息: http://www.ashleyit.com/rs/rslite/ 。
6. Google AJAXSTL
Google AJAXSTL是使用XPath的XSL转换(XSLT)的JavaScript实现。该工具包很小,并且还不完善,但作为使用AJAX的先驱,还是应该给予一定的关注。
开源链接: http://goog-ajaxslt.sourceforge.net/ 。
这些是个人最初所关注的一些框架, Computerboy的 Ajax框架汇总和 Ajax Resources有更多的对Ajax框架及相关资源的介绍。