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
Web Remoting - DWR vs Buffalo
DWR和Buffalo都是Web Remoting框架,区别在于:
- DWR使用自定义的简单文本协议,而Buffalo使用burlap协议。因此Buffalo解析大数据量可能会比较慢,然而可以适用于多种服务器端和客户端,并且burlap协议的完整性和支持的数据类型更加丰富
- Buffalo基于prototype,如果你的AJAX应用也是基于prototype,那么可以减少重复加载prototype的带宽,并且获得相当一致的编程概念
- DWR的服务器端实现要比Buffalo完善一些
- DWR更加通用一些,用户比较广,而Buffalo是国内的Michael写的,用户使用比较少(名气较小)
- 建议使用buffalo,相对更加易用,然而服务器端功能有待完善
JavaScript Component Library - prototype vs qooxdoo vs dojo vs YUL
- prototype是一个非常优雅的JS库,定义了JS的面向对象扩展,DOM操作API,事件等等,之上还有 rico/script.aculo.us实现一些JS组件功能和效果(不过目前还不是很完善),以prototype为核心,形成了一个外围的各种各样 的JS扩展库,是相当有前途的JS底层框架,值得推荐,prototype以及rico/script.aculo.us的一个特出特点就是非常易学易 用,门槛很低,常常是一两行JS代码就可以搞定一个相关的功能。同时它也是RoR集成的AJAX JS库。详细请参见prototype
- 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的支持,缺点是库目前还是不是很全,功能也不强大。