Prototype是最早成形的JavaScript库之一。对JavaScript的内置对象(例如Stringd对象,Array对象)做了大量的扩展。可以看做是把很多好的,有用的JavaScript的方法组合在一起而形成的Javascript库。但是在整体上由于对于面向对象的编程思想把握不到位,导致了结构的松散,不过现在prototype现在也在慢慢改进。
Dojo的强大之处在于Dojo提供了很多其他JavaScript库没有提供的功能。例如离线储存的API,生成坐标的组件。基于SVG/VML的矢量图库和Comet支持等。Dojo是一款非常适合企业级应用的JavaScript库,缺点:学习曲线陡,文档不齐全,最严重的就是API不稳定,每次升级都可能导致已有的程序失效,但是从Dojo的1.0.0开始,情况就有所好转,是很有发挥潜力的库。
YUI是由Yahoo公司开发的一套设备的、扩展性良好的富交互网页程序工具集。YUI封装了一系列比较丰富的功能,例如DOM操作和Ajax应用等。同时还包括几个核心的CSS文件。该库本身文档极其完善,代码编写也非常规范。
Ext JS 原本是对YUI的一个扩展,主要用于创建前端用户界面,如今已经扩展到可以利用包括jQuery在内的各中Javascript框架最为基础库,而Ext作为界面的扩展库来使用,Ext可以用来开发丰富有华丽外观的富客户端应用,能使B/S应用更加具有活力,但是Ext侧重于界面,本身比较臃肿,所有使用请先权衡利弊,另外,Ext不是完全免费,如果用于商业,需要付费获得授权。
MoonTools是一套轻量级、简洁、模块化和面向对象的JavaSctript框架,MoonTools语法几乎和Prototype一样,但却提供了更为强大的功能,更好的扩展性和兼容性,其模块化思想非常优秀,核心代码只有8K,无论用到那个模块都可以即使导入,即使是完整版的也不过160K,其完全彻底的面向对象的编程思想,语法简洁直观,文档完善,是一个非常不错的JavaScript库
JQuery也是一款轻量级的库,具有强大的选择器,出色的DOM操作,可靠的事件处理,完善的兼容性和链式操作等。
jQuery团队:John Resig、Brandon Aaron、Jorn Zaefferer
jQuery凭借简洁的语法和跨平台的兼容性,极大的简化了Javascript开发人员遍历HTML文档、操作DOM、处理事件、执行动画和开发Ajax的操作。
jQuery理念:写的少,做的多。
优势:轻量级、强大的选择器、出色的DOM操作的封装、可靠的事件处理机制、完善的Ajax、不污染顶级变量、出色的浏览器兼容性、链式操作方式、隐式迭代、行为层与结构层分离、丰富的插件支持、完善的文档、开源。