Page 113 - JavaScript修炼之道
P. 113
附录C JavaScript框架概览 105
头改善浏览器缓存、CDN分发 等。
①
主流的框架会使用各种各样的机制,以确保你的页面在短时间内载入,所以就不要在代码大
小这种细枝末节的事情上浪费时间了,是吧?
C.1 Prototype、script.aculo.us和Scripty2
Prototype是第一款为大众所熟知的JavaScript框架。2005年2月,Sam Stephenson在37signals
②
公司 创建了这个框架以提供一个统一的、易用的API,来进行DOM操作、事件处理和Ajax操作。
同年Thomas Fuchs创建了script.aculo.us框架以作为Prototype的补充API,从初期的黄褪技术
(Yellow Fade Technique)到现在,它已经发展为集视觉效果、拖放操作以及UI Widget于一身的成
③
熟框架。Scripty2是对script.aculo.us的一个彻底的重写和扩展,现在还处于测试阶段 ,它提供了
丰富的视觉效果。
Prototype的开发团队以五六个志愿者为核心,他们中最著名的要数Sam、Tobie Langel和
Andrew Dupont。Prototype使用MIT许可证(基本上来说,它是开源的,可以被到处使用),你可
以在GitHub上获得Prototype的完整源代码,Prototype还有一个回馈邮件列表和一个bug报告系统。
围绕着Prototype的发展,一个生态系统逐渐形成,这包括PDoc(一个代码内联文档系统)、
Evidence(一款单元测试框架)、Sprockets(一个高级JavaScript处理和拼接工具)以及Scripteka
(一个插件库)。Prototype拥有一个活跃的社区,他们的大多活动在Google Groups中进行。介绍
Prototype的书也有很多,比如Andrew Dupont的Practical Prototype and script.aculo.us以及我的
Prototype and script.aculo.us。
虽然Prototype被认为是第一款为大众所熟知的JavaScript框架,不过在过去的两年中,它的人
气一直在慢慢下滑,很明显,jQuery吸引了更多关注。不过,我认为这两个框架所强调的是不同
的(尽管有一定的重叠)需求(它们显然也有着截然不同的代码美学)。
Prototype的架构、代码美学以及内聚的API设计使其非常适合编写健壮的API。它借鉴了很多
Ruby的优点(比如Enumerable模块),从而使其易于编写包含大量算法的代码。如果你想利用
JavaScript编写优秀的应用,并对这些应用做长时间的扩展和维护,那么Prototype是一个不错的选
择。但是如果你并不打算了解JavaScript,而只是需要用一些控件和插件拼凑出一个网站的话,那
——————————
① CDN即Content Delivery Network,其基本思路是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和
环节,使内容传输得更快、更稳定。*
② 著名的互联网创业公司,流行的Ruby on Rails 框架即出于此。*
③ 当前Scripty的最新版本是2010年9月26日的2.0 Beta。*