为了简化JavaScript的开发,一些JavaScript程序库诞生了。JavaScript程序库封装了很多预定义的对象和使用函数,能帮助使用者轻松地建立有高难度交互的Web2.0特性的富客户端页面,并且兼容各大浏览器。下面是目前集中流行的JavaScript程序库的介绍和对比。
Prototype
Prototype是最早成型的JavaScript库之一,对JavaScript的内置对象(例如String对象、Array对象等)做了大量的扩展。现在还有很多项目使用Prototype。Prototype可以看做是把很多好的,对JavaScript的内置对象(例如String对象、Array对象等)做了大量的扩展。现在还有很多项目使用Prototype。Prototype可以看做是把很多好的、有用的JavaScript的方法组合在一起而形成的JavaScript库、使用者可以再需要的时候随时将其中的几段代码抽出来放进自己的脚本里。但是由于Prototype成型年代较早,从整体上对面向对象的编程思想把握得不是很到位,导致了其结构的松散。不过现在Prototype也在慢慢改进。
Dojo
Dojo的强大之处在于Dojo提供了很多其他JavaScript库所没有提供的功能。例如离线存储的API、生成图标的组件、基于SVG/VML的矢量图形库和Comet支持等。Dojo是一款非常适合企业级应用的JavaScript库、并且得到了IBM、SUN和BEA等一些大公司的支持。但是Dojo的缺点也是很明显的:学习曲线陡,文档不齐全,最严重的就是API不稳定,每次升级都可能导致已有的程序失效,但是自从Dojo的1.0.0版本出现以后,情况有所好转,Dojo还是一个很有发展潜力的库。
YUI
YUI是由Yahoo公司开发的一套完备的、扩展性良好的富交互网页程序工具集。YUI封装了一系列比较丰富的功能,例如DOM操作和Ajax应用等,同时还包括一个核心的CSS文件。该库本身文档及其完备,代码编写得也非常规范。
Ext JS
Ext JS简称为Ext,原本是对YUI的一个扩展,主要用于创建前端用户界面,如今已经发展到可以利用包括jQuery在内的多种JavaScript框架作为基础库,而Ext作为界面的扩展库来使用。Ext可以用来开发富有华丽外观的富客户端应用,能使B/S应用更加具有活力。但是由于Ext侧重于界面,本身比较臃肿,所用使用之前请想权衡利弊。另外,需要注意的是,Ext并非完全免费,如果用于商业用途,需要付费获得授权许可。
MooTools
MooTools是一套轻量、简洁、模块化和面向对象的JavaScript框架。MooTools的语法几乎跟Prototype一样,但是却提供了更为强大的功能、更好的扩展性和兼容性。其模块化思想非常优秀,核心代码只有8KB。无论用到哪个模块都可即时导入,即使是完整版大小也不超过160KB。MooTools完全彻底的贯彻了面向对象的编程思想,语法简洁直观,文档完善,是一个非常不错的JavaScript库。