寸志

《深处浅出 CoffeeScript》译者序

The golden rule of CoffeeScript is: “It’s just JavaScript”.——coffeescript.org

CoffeeScript的作者Jeremy Ashkenas在twitter上有个很好笑的段子:

他说:“我非常想知道在GitHire上有多少人有五年的CoffeeScript经验,很显然我有很多地方需要向他们学习。”

有人答道:“对的,这些人大概是在一边煮咖啡,一边写脚本”。

确实,与Python和Ruby相比,CoffeeScript非常年轻,到现在才两年出头的时间。

还清楚地记得,我是在了解Zombie.js时第一次接触到CoffeeScript。Zombie.js是一个用于客户端JavaScript测试的轻型框架,在我查看Zombie.js的源码时,我就被CoffeeScript的优雅和左边漂亮文档所吸引了 。

谁说使用CoffeeScript不是如边煮咖啡边写脚本一样怡然自得呢?真的,这东西很酷!

CoffeeScript之于JavaScript,就如Less或Sass之于CSS。它吸收了JavaScript语言的精华,并且添加了很多现代脚本语言(Python和Ruby等)所具有的特性。比如列表解析,字符串插值,参数列,吸收操作符,等等。我想CoffeeScript就是大师Douglas Crockford所想要的那种JavaScript子集 。它能够减少三分之一的代码量,换来的却是去除了语言怪癖,兼容所有引擎环境的JavaScript代码!其编译生成的JavaScript代码可读性很强,而且优雅程度不亚于直接写出的JavaScript代码,研究这些,你甚至能看到JavaScript在各方面的最佳实践。

虽然CoffeeScript非常年轻,但因为RubyRails 3.1的直接集成和在Node.js开发方面的天然优势,CoffeeScript在很多方面都有了应用,比方说之前提到的浏览器模拟器Zombie.js,还有基于Express的高级Node.js开发框架Zappa,甚至使用CoffeeScript写成的PSD文件解析器psd.js

但无论CoffeeScript如何的优雅,如何的艺术,总之要记住它的金科玉律:“it’s just JavaScript!”

这句话是《深入浅出CoffeeScript》这本书的精髓。作者Trevor Burnham通过一个贯穿全书的5x5拼字游戏,从基础开始,通俗易懂的为我们讲解了CoffeeScript各方面的知识,如何与jQuery这类非常流行的类库完美集成,如何游刃有余的结合Socket.IO实现Node.js双通道异步通信。JavaScript能做的事情,CoffeeScript也可以,而且做起来更快,更优雅!

想要站在JavaScript开发和Web开发的最前沿么?这本书正好适合你!

感谢图灵公司引进了本书,给了我翻译该书的机会。感谢诸位编辑,傅志红老师,李松峰老师和李鑫老师,在翻译过程中给予我诸多帮助和鼓励。感谢图灵社区里的朋友,在阅读了样章之后给我了很多反馈。感谢大众点评网尤其是前端团队在翻译过程中给我的理解和支持。感谢Jeremy Ashkenas设计了这门优雅的语言,还要感谢本书的作者Trevor Burnham耐心为我解答我对原文中的疑问。

最后还要感谢我的爸爸妈妈,女友吴竞男,谢谢你们的支持和理解。尤其是小吴,算是我译稿的第一个读者,谢谢你的诸多批评和建议。

寸志
2012年2月27日