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应用框架