JavaScript 工业时代的来临
半年前,当我对 JavaScript 还停留在只认识这几个字母的时候(again, XD),我在寻找学习 JavaScript 的学习途经,jQuery 无意闯入我的眼帘,我惊叹于它的小巧和易理解性,在我还不懂 JavaScript 基本语法的时候,我已经能用它做很多对我来说是不可思议的事情。由此也认识了它的作者 John Resig, 并关注其第一本书 Pro JavaScript Techniques(projs).
其实把这篇文章归类于书评让我心戚戚焉,因为 projs 里面的某些高级主题作为入门者的我还不能理解,实属「无法评论」,若夸夸其谈恐会贻笑大方,虽如此,元旦放假期间还是硬着头皮翻完,虽不能一一理顺,但收获也不少。
比起 ppk on JavaScript(ppk)来,我的第一感受是,projs 太「高级」了。看完 ppk 后,你可能还不能理解现在流行的那些框架是如何工作的,因为 ppk 压根就不讲 JavaScript 的特性比如对象的构建,继承等,最重要的是,很多框架的根基——闭包。虽然我还不能完全理解这些特性,但有一种豁然开朗的感觉,并开始了解,创建可复用的,复杂的 JavaScript 应用的基础,不能不了解这些特性。遗憾的是,这些特性的介绍一直都只在网上零散流行(比如牛人的 Douglas Crockford, Dean Edwards 之类的个人网站),甚至是权威的「犀牛书」也就是一笔带过,并没有一个系统的概述。如今,Pro JavaScript Techniques 就是一本应势而生的书,系统概述这些特性,看过后给您的感觉,我再说一次,豁然开朗。最重要的是,它能改变你的看法,如果你还认为 JavaScript 只是一门小打小闹的玩具语言。JavaScript 实在还有很多「隐藏」的特性需要去挖掘,并使用它们来构建工业级的应用。
projs 不厚,但含金量实在不低。它的核心就三部分:专业 JavaScript 开发、Unobtrusive JavaScript 和 Ajax。其实我个人看法,精华应该是第一部分。有人说 JavaScript 是基于对象但不是面向对象的语言,因为它没有传统面向对象语言的一些概念比如类。但不是说就不能不能在 JavaScript 里面向对象编程,因为 JavaScript 提供的高级特性更灵活,因为灵活所以也可能更容易出错和不易掌握。projs 系统总结 JavaScript 如何面向对象编程,虽然大部分例子或者方法都来源于网上的牛人,但能够以系统的成文书籍来向读者介绍,我想这应该是世界上第一本。或许是第二、三部分个人有所了解并在一定程度生熟悉的缘故,个人觉得应该是 John 的经验分享了,概述十分入理,他的例子,尤其是在 JavaScript and CSS 的章节里(其实也是我比较能看懂的一章,呵呵),写得十分优雅和巧妙,其功力可见一斑。
因此 projs 的第一部分实属 JavaScript 进阶必看,而第二第三部分可以偷学很多有用的技巧,总的来说,是一本可以打四星半的好书。在 JavaScript 进入工业时代,您需要这 Pro JavaScript Techniques 来引导您开发更「工业级」的 JavaScript。
更新:此书中文版《精通 JavaScript》已经上市。