一、 通用库
通用 JavaScript 库提供适应任何需求的功能。所有通用库都致力于通过将常用功能封装为新 API,
来补偿浏览器接口、弥补实现差异。其中有些 API 与原生功能相似,而另一些 API 则完全不同。通用库
通常会提供与 DOM 的交互,对 Ajax 的支持,还有辅助常见任务的实用方法。
1.1 jQuery
jQuery 是为 JavaScript 提供函数式编程接口的开源库。该库的核心是通过 CSS 选择符匹配 DOM 元
素,通过调用链,jQuery 代码看起来更像描述故事情节而不是 JavaScript 代码。这种代码风格在设计师
和原型设计者中非常流行。
1.2 Google Closure Library
Google Closure Library 是通用 JavaScript 工具包,与 jQuery 在很多方面都很像。这个库包含非常多
的模块,涵盖底层操作和高层组件和部件。Google Closure Library 可以按需加载模块,并使用 Google
Closure Compiler(附录 D 会介绍)构建。
1.3 Underscore.js
Underscore.js 并不是严格意义上的通用库,但提供了 JavaScript 函数式编程的额外能力。它的文档将 Underscore.js 看成 jQuery 的组件,但提供了更多底层能力,用于操作对象、数组、函数和其JavaScript数据类型。
1.4 Lodash
与 Underscore.js 一样,Lodash 也是实用库,用于扩充 JavaScript 工具包。Lodash 提供了很多操作原
生类型,如数组、对象、函数和原始值的增强方法。
1.5 Prototype
Prototype 是对常见 Web 开发任务提供简单 API 的开源库。Prototype 最初是为了 Ruby on Rails 开发
者开发的,由类驱动,旨在为 JavaScript 提供类定义和继承。为此,Prototype 提供了大量的类,将常用和复杂的功能封装为简单的 API 调用。Prototype 包含在一个文件里,可以轻松地插入页面中使用。
1.6 Dojo Toolkit
Dojo Toolkit 是以包系统为基础的开源库,将功能分门别类地划分为包,可以按需加载。Dojo 支持
各种配置选项,几乎涵盖了使用 JavaScript 所需的一切。
1.7 MooTools
MooTools 是简洁、优化的开源库,为原生 JavaScript 对象添加方法,在熟悉的接口上提供新功能。
由于体积小、API 简单,MooTools 在 Web 开发者中很受欢迎。
1.8 qooxdoo
qooxdoo 是致力于全周期支持 Web 应用程序开发的开源库。通过实现自己的类和接口,qooxdoo 创
建了类似传统面向对象编程语言的模型。这个库包含完整的 GUI 工具包和编译器,用于简化前端构建过
程。qooxdoo 最初是网站托管公司 1&1 的内部库,后来基于开源许可对外发布。
二、 动画与特效
动画与特效是 Web 开发中越来越重要的一部分。在网站中创造流畅的动画并不容易。为此,不少
库开发者已开发了包含各种动画和特效的库。前面提到的不少 JavaScript 库也包含动画特性。
2.1
数据驱动文档(D3,Data Driven Documents)是非常流行的动画库,也是今天非常稳健和强大的
JavaScript 数据可视化工具。D3 提供了全面完整的特性,涵盖 canvas、SVG、CSS 和 HTML5 可化。
使用 D3 可以极为精准地控制最终渲染的输出。
2.2 three.js
three.js 是当前非常流行的 WebGL 库。它提供了轻量级 API,可以实现复杂 3D 渲染与动效。
2.3 moo.fx
moo.fx 是基于 Prototype 或 MooTools 使用的开源动画库。它的目标是尽可能小(最新版 3KB),并
使开发者只写尽可能少的代码。moo.fx 默认包含 MooTools,也可以单独下载,与 Prototype 一起使用。
2.4 Lightbox
Lightbox 是创建简单图像覆盖特效的 JavaScript 库,依赖 Prototype 和 script.aculo.us 实现特效。其基
本思想是可以使用户在当前页面的一个覆盖层中查看一个图像或多个图像。可以自定义覆盖层的外观和
过渡。