AJAX技术框架及开发工具

常见的AJAX框架有:

DWR - Web Remoting
Buffalo - Web Remoting (based on prototype)
prototype - JS OO library
openrico - JS UI component (based on prototype)
dojo - JS library and UI component
qooxdoo - JS UI component (C/S Style)
YUL - JS UI component

其中关于DWR和Buffalo之间的比较,它们都是Web Remoting框架,区别在于:

DWR使用自定义的简单文本协议,而Buffalo使用burlap协议。因此Buffalo解析大数据量可能会比较慢,然而可以适用于多种服务器端和客户端,并且burlap协议的完整性和支持的数据类型更加丰富

Buffalo基于prototype,如果你的AJAX应用也是基于prototype,那么可以减少重复加载prototype的带宽,并且获得相当一致的编程概念

DWR的服务器端实现要比Buffalo完善一些

DWR更加通用一些,用户比较广,而Buffalo是国内的Michael写的,用户使用比较少(名气较小)

建议使用buffalo,相对更加易用,然而服务器端功能有待完善

此外,

prototype是一个非常优雅的JS库,定义了JS的面向对象扩展,DOM操作API,事件等等,之上还有rico/script.aculo.us实现一些JS组件功能和效果(不过目前还不是很完善),以prototype为核心,形成了一个外围的各种各样的JS扩展库,是相当有前途的JS底层框架,值得推荐,prototype以及rico/script.aculo.us的一个特出特点就是非常易学易用,门槛很低,常常是一两行JS代码就可以搞定一个相关的功能。同时它也是RoR集成的AJAX JS库。

qooxdoo是一个功能很强的JS组件库,完全模仿Windows操作系统的GUI组件。特点是不通过常规的HTML来构造页面,完全使用JS以类似VB/Delphi风格的编程方式构造Web GUI界面,比较适合内网面向C/S风格的web应用,,而不适合面向Internet的界面多变风格的应用。qooxdoo的一个重大卖点在于qooxdoo将要提供一个FormDesigner的IDE,通过在IDE里面的可视化拖拽设计方式来自动生成C/S风格的web页面js代码。qooxdoo缺点是JS文件体积过大,超过200KB,初次下载会比较慢,而且并不适合Internet消费类网站。

dojo是一个各个方面相当完善的JS库,包括了JS本身的语言扩展,以及各个方面的工具类库,和比较完善的UI组件库,也被广泛应用在很多项目中,他的UI组件的特点是通过给html标签增加tag的方式进行扩展,而不是通过写JS来生成,dojo的API模仿Java类库的组织方式。dojo的优点就是库相当完善,发展时间也比较长,缺点是文件体积也比较大,200多KB,初次下载相当慢,此外,dojo的类库使用显得不是那么易用,至少给我的感觉是相当笨拙,特别是和prototype相比,更加显得难用。

YUL是Yahoo新近发布的AJAX组件库,也是一个包含了各个方面,从工具类库到通讯,到UI组件的综合性JS库。YUL的优势在于文档非常齐全,而且有Yahoo的支持,缺点是库目前还是不是很全,功能也不强大。

当然,更多的框架和工具介绍:Round-up of 50 AJAX Toolkits and Frameworks
http://www.maxkiesler.com/index.php/weblog/comments/round_up_of_50_ajax_toolkits_and_frameworks/

还有篇AJAX框架汇总:
http://www.duduwolf.com/post/AJAX_Frameworks.asp

我这里选4个介绍认识下:

Google推出Java开发Ajax框架

Google 发布 Google Web Toolkit。Google Web Toolkit是一个开放版本的AJAX Framework,通过它用户可以构建像Google Maps和Gmail之类的Web应用程序。这个Google Web Toolkit beta是免费的,它是一个基于java的工具,并能够和任何java开发工具协同工作。

GWT已经加入到Google的代码库当中,这个代码库包含了很多API和开发工具。Google产品经理Bret Taylor表示,当用户把应用程序部署到产品当中时,GWT编译器只要简单的把用户的java应用程序转换成浏览器支持的JavaScript和HTML就行。

官方站点: http://code.google.com/webtoolkit/

Atlas:微软的Ajax
http://www.cnbruce.com/blog/showlog.asp?cat_id=34&log_id=730

微软致力于简化Ajax风格Web应用的开发,并提供丰富的、可交互的和个性化的用户体验。开发者可以对客户端脚本不甚了解;但他们可以很容易地开发和调试这种应用程序。

出于这一目的,微软启动了一个新的项目,研发代号“Atlas”。Atlas为开发这带来了如下特性:

·Atlas客户端脚本框架
·Atlas的ASP.NET服务器控件
·ASP.NET Web Services集成
·Atlas的ASP.NET构建块
·客户端构建块服务

Buffalo:国人开发的AJAX应用框架

来源:http://news.csdn.net/n/20050609/22073.html

Web开发正逐渐变得有趣。许多以前在C/S系统中才能够实现的效果,Web页面中已经能够逐渐可以实现。由于传统Web系统给人们的惯性,用户对于这些新型应用感到激动,用户体验得到极大程度的改善。

AJAX是开发基于web的rich client的一种方式,Buffalo则是实现AJAX的一个框架。Buffalo中定义了Web远程调用的传输基础,并且将远程调用对象完整的序列化到了本地,成为可以被JavaScript编程触及的对象。Buffalo中的重要组件-BuffaloBinding,提供了将JavaScript对象绑定到HTML元素的能力。这种绑定将是无侵入的,只需要在HTML元素中加入若干个不影响排版的属性,即可将数据与界面绑定。

Buffalo主页: http://www.amowa.net/buffalo/

jsLINB--国人的一个完整Ajax/web2.0技术框架

LINB(Lazy INternet and Browser) 是一个面向程序编写者的软件架构。它的目的是让程序编写者在对软件的全局了如指掌的基础上,实现更目标驱动的、任务清晰的、高效的软件应用。 LINB 是平台无关的架构,兼容 C/S、B/S、RIA 和 Web2.0 等等。

页面上的是LINB架构的 javascript&AJAX 客户端基础:jsLINB。

jsLINB的在线demo:http://www.linb.net/linb/

里面包括变量类型检测、强制类型变量、javascript线程实现、完美OO模型、基于dom id的事件系统实现、dom元素的“随动”实现、高级托拽、sorted grid控件、tree grid控件等等。

jsLINB框架图
变量类型检测
强制类型变量
javascript线程实现
36位guid
基于dom id的事件系统实现
dom元素的“随动”实现
基本拖拽
限制拖拽
拖拽任何domnode
网格拖拽
停靠拖拽
多handle拖拽
图标代理拖拽
多目标drop
快速html生成
DOM控制封装
基于线程的特效
直接调用
完美OO实现
Treebar控件
sorted grid控件
tree grid控件
window控件 

posted @ 2006-10-13 10:45  RicoRui  阅读(1071)  评论(0编辑  收藏  举报