应用最广的十大Javascript框架以及优缺点对比
2009-04-22 08:07

近日,知名技术开发网站SYS-CON 媒体列出十个应用最广的Javascript框架,文章说,Javascript库已经成为设计优秀网站的基础,当今几乎所有站点都带有Javascript或Ajax元素。在Web2.0开发大潮中,它也许是最关键的要素。

以下十个十大Javascript框架,你常用其中的几个?

(目前,互联网上有很多优秀且流行的JavaScript框架,比如JQuery,MooTools, Prototype和YUI,等等。

要知道,世界上没有最好的框架之说,我个人的理解是:最适合你(你的团队)的框架就是最好的框架。)
1. script.aculo.us (http://script.aculo.us/)

URL: http://script.aculo.us/.
文档: http://wiki.script.aculo.us/.
注释: script.aculo.us不是自己独立的framework,而是Prototype的附加组件。
“script.aculo.us能为你提供使用简单、跨浏览器用户接口的JavaScript库,它让你的网站和程序如虎添翼。”

2. Prototype (http://www.prototypejs.org/)

URL: http://www.prototypejs.org/.
Blog: http://www.prototypejs.org/blog.
文档: http://www.prototypejs.org/learn.

“Prototype是让动态web程序开发更加简单的JavaScript framework。它为class-driven开发提供了独特简单的工具箱,并以目前最好的Ajax库著称。Prototype正在迅速成为每位web程序开发者的codebase of choice。”

3. Moo Tools (http://www.mootools.net/)

URL: http://www.mootools.net/.
Blog: http://blog.mootools.net/.
文档: http://docs.mootools.net/.
演示:http://demos.mootools.net/.

“MooTools是精简而模式化的面向对象JavaScript framework,它专为从中级向高级迈进的JavaScript开发者设计。在它优雅、详细并且流畅的API帮助下,你能够写出强大、灵活、可跨浏览器使用的代码。”

4. jQuery (http://jquery.com/)

URL: http://jquery.com/.
Blog: http://jquery.com/blog/.
文档: http://docs.jquery.com/.

“jQuery是一个快速、简洁的JavaScript库,能够简化阅读HTML文档、处理事件、实现动画以及向网页添加Ajax互动等过程。jQuery改进了你编写JavaScript的方式。”

5. MochiKit (http://www.mochikit.com/)

URL: http://www.mochikit.com/.
Blog: http://www.mochikit.com/blog.html.
文档: http://www.mochikit.com/doc/html/MochiKit/index.html.
演示:http://www.mochikit.com/demos.html.

“MochKit-让JavaScript不那么差劲了。”

6. Rialto (http://rialto.improve-technologies.com/wiki/)

URL: http://rialto.improve-technologies.com/wiki/.
Blog: 无
文档: http://rialto.improve-technologies.com/js/doc/.
演示:http://rialto.improve-technologies.com/rialto/.

“Rialto (Rich Internet Application Toolkit)是基于Ajax的跨浏览器Javascript小型工具集。”

7. Dojo Toolkit (http://dojotoolkit.org)
URL: http://dojotoolkit.org/about.
Blog: http://dojotoolkit.org/blog.
文档: http://dojotoolkit.org/docs.
演示:http://dojotoolkit.org/demos.

“Dojo是用JavaScript编写的一款开源的DHTML工具箱。Dojo解决了DHTML部分历史遗留问题,这些问题曾让大量动态web程序开发无法实现。”

8. Spry Framework (http://labs.adobe.com/technologies/spry/)

URL: http://labs.adobe.com/technologies/spry/.
Blog: 无
文档: http://www.adobe.com/go/labs_gnav_wiki.
演示:http://www.adobe.com/go/labs_gnav_showcase.

“为Ajax设计的Spry framework是一个能提供简单而强大Ajax功能的JavaScript库,它令开发者能开发出让用户有更丰富体验的页面。它还可以使Ajax的复杂度降低,以便设计师更为简单的创建Web2.0页面。”

9. ASP.NET Ajax Framework (http://asp.net/ajax/)

URL: http://asp.net/ajax/.
Blog: 无
文档: http://asp.net/ajax/documentation/.
演示:http://asp.net/ajax/showcase/.

“ASP.NET AJAX是一款免费框架,能让你在各种流行浏览器上快速创建有效而互动的Web程序。”
10. Cean Ajax Framework (http://sourceforge.net/projects/clean-ajax/)
URL: http://sourceforge.net/projects/clean-ajax/.
Blog: 无
文档: http://sourceforge.net/docman/?group_id=145307.

“简单易用的AJAX 框架,能提供消息排序, XSLT, XPath, 加密软件 (SHA1, MD5), Web服务入口 (SOAP, XMLRPC), JSON-RPC, 跨浏览器 AJAX以及 AJAX历史及缓存控制。”等功能。

-------------------------------

八款Javascript框架的优缺点比较
Dojo

Dojo 是目前最为强大的JS框架,它在自己的 Wiki 上给自己下了一个定义,Dojo 是一个用 JavaScript 编写的开源的DHTML工具箱。Dojo 很想做一个“大一统”的工具箱,不仅仅是浏览器层面的,野心还是很大的。Dojo 包括 Ajax、Browser、Event、Widget 等跨浏览器 API,包括了 JS 本身的语言扩展,以及各个方面的工具类库,和比较完善的 UI 组件库,也被广泛应用在很多项目中,他的 UI 组件的特点是通过给 HTML 标签增加 TAG 的方式进行扩展,而不是通过写 JS 来生成,Dojo 的 API 模仿 Java 类库的组织方式。用 Dojo 写 Web OS 可谓非常方便。Dojo 现在已经 4.0 了,Dojo 强大的地方在于界面和特效的封装,可以让开发者快速构建一些兼容标准的界面。

优点:库相当完善,发展时间也比较长,功能强大,据说利用 Dojo 的 io.bind() 可以实现 comet 看见其功能强大非一般,得到 IBM 和 SUN 的支持。

缺点:文件体积比较大,200多KB,初次下载相当慢,此外,Dojo 的类库使用显得不是那么易用,JS语法增强方面不如 Prototype

Prototype

它是一个非常优雅的 JS 库,定义了 JS 的面向对象扩展,DOM 操作API,事件等等,以 Prototype 为核心,形成了一个外围的各种各样的 JS 扩展库,是相当有前途的 JS 底层框架,值得推荐,感觉也是现实中应用最广的库类(RoR 集成的 AJAX JS 库),之上还有 Scriptaculous 实现一些JS组件功能和效果。

优点:基本底层,易学易用,甚至是其他一些js特效开发包的底层,体积算是最小的了。

缺点:如果说缺点,可能就是功能是他的弱项

dScriptaculous

Scriptaculous 是基于prototype.js 框架的 JS 效果。包含了 6 个 js 文件,不同的文件对应不同的 js 效果,所以说,如果底层用 prototype 的话,做js效果用 Scriptaculous 那是再合适不过的了,连大名鼎鼎的 digg 都在用他,可见不一般

优点:基于prototype 是最大的优点,由于使用 prototype 的广泛性,无疑对用户书锦上添花。

缺点:刚刚兴起,需要时间的磨练

Yui-ext

基于 Yahoo UI 的扩展包 yui-ext 是具有 CS 风格的 Web 用户界面组件,能实现复杂的 Layout 布局,界面效果可以和 backbase 媲美,而且使用纯 javascript 代码开发。真正的可编辑的表格 Edit Grid,支持 XML 和 Json 数据类型,直接可以迁入 Grid。许多组件实现了对数据源的支持,例如动态的布局,可编辑的表格控件,动态加载的 Tree 控件、动态拖拽效果等等。从 1.0 beta 版开始同 Jquery 合作,推出基于 jQuery 的 Ext 1.0,提供了更多有趣的功能。

优点:结构化,类似于 java 的结构,清晰明了,底层用到了 Jquery 的一些函数,使整合使用有了选择,最重要的一点是界面太让让人震撼了。

缺点:太过复杂,整个界面的构造过于复杂。

Jquery

JQuery 是一款同 prototype 一样优秀 js 开发库类,特别是对 css 和 XPath 的支持,使我们写 js 变得更加方便!如果你不是个 js 高手又想写出优秀的 js 效果,那么 JQuery 可以帮你达到目的!并且简介的语法和高的效率一直是jQuery追求的目标。

优点:注重简介和高效,js 效果有 yui-ext 的选择,因为 yui-ext 重用了很多 jQuery 的函数

缺点:据说太嫩,历史不悠久。

Mochikit

MochiKit 自称为一个轻量级的 js 框架。MochiKit 主要受到 Python 和 Python 标准库提供的很多便利之处的启发,另外还缓解了浏览器版本之间的不一致性。其中的 MochiKit.DOM 尤其方便,能够以比原始 JavaScript 更友好的方式处理 DOM 对象。MochiKit.DOM 大部分都是针对 XHTML 文档定制的,如果与 MochiKit 和 Ajax 结合在一起,使用 XHTML 包装的微格式尤其方便。Mochikit 可以直接对字符串或者数字格式化输出,比较实用和方便。它还有自己的 js 代码解释器

优点:MochiKit.DOM 这部分很实用,简介也是很突出的

缺点:轻量级的缺点

Mootools

MooTools 是一个简洁,模块化,面向对象的 JavaScript 框架。它能够帮助你更快,更简单地编写可扩展和兼容性强的 JavaScript 代码。Mootools 跟 prototypejs 相类似,语法几乎一样。但它提供的功能要比 prototypejs 多,而且更强大。比如增加了动画特效、拖放操作等等。

优点:可以定制自己所需要的功能,可以说是 prototypejs 的增强版。

缺点:不大不小,具体应用具体分析。

Moo.fx

Moo.fx是 一个超级轻量级的 javascript 特效库(7k),能够与 prototype.js 或mootools 框架一起使用。它非常快、易于使用、跨浏览器、符合标准,提供控制和修改任何 HTML 元素的 CSS 属性,包括颜色。它内置检查器能够防止用户通过多次或疯狂点击来破坏效果。moo.fx整体采用模块化设计,所以可以在它的基础上开发你需要的任何特效。

优点:小块头有大能耐

缺点:这么小了,已经不错了