全面系统的入门教程——评《Node.js 开发指南》



  作者 BYVoid 想必是很多 OIer 熟知的神牛了。作为中学学弟(当然并没有实际见过几次面),我是很仰慕他的。作为 NOI 金牌获得者,他不仅在信息学竞赛上颇有造诣,也涉猎于编程开发,同时在汉语言文字上研究颇深。高中时期他就为学校用 PHP 编写了一个功能强大的在线评测系统(Online Judge)——CmYkRgB123 Online Grading System (COGS),其即时评测并显示各测试点结果的 NOI 系列式评测方式深受同学们喜爱,曾经在外网开放过也获得相当好评。此后更以 MVC 框架写出了新的 Vakuum 在线评测系统。他还开发了高质量的繁简转换工具 OpenCC ,解决了长期困扰中文领域的汉字转换问题,并参与了 Linux 下 iBus 输入法项目,还在汉典网站上做了大量工作。近期他又上线了韵典网,为查询检索古代音韵提供了方便。等等如此,不一而足。
  
  说到 Node.js ,我们不得不谈到 Google Chrome 。作为忠实的 Google 粉丝,我从其测试版就开始使用,甚至在没有 Linux 版本时也在用 wine 模拟器使用,原因只有一个——快。它如此快速,这是因为使用了 V8 JavaScript 引擎。自此,基于解释的语言开始摆脱了龟速的宿命,并由此发展出了本书的主角 Node.js 。当然它是基于 JavaScript 的(不是 Java!),作者贴心地为不熟悉 JavaScript 的读者专门编写了一章附录以熟悉 JS 。
  
  学习一门编程语言需要首先熟悉其编程环境和编译器。作者在书中为 Windows 用户、Linux 用户和 Mac OS X 用户详细描述了安装配置过程,并给出了常见问题的解决方案。书中还介绍了包管理器(类似于 Ubuntu 的软件中心、TeXlive 的 tlmgr 等) npm ,描述了包的多版本控制,并介绍了常用的模块和包的用法。书中还介绍了 Node.js 的调试方法以及其在 Eclipse 环境中的配置使用。
  
  与一般编程语言不同,Node.js 是异步 I/O 的,故此初入门时很难以理解。作者用直截了当的实例和准确有力的语言解释了异步式 I/O 和事件式编程的相关概念。书中详细讲述了 Node.js 的对象的变量概念,介绍了常用工具 util 、事件驱动 events 、文件系统 fs 和 http 服务器模块。作者更以一个微博网站的实例,从零开始一步一步教会读者网站开发的各种方法步骤,涉及到工程规划、模型-视图-控制器开发模式、基于 Bootstrap 的网页前端设计、基于 MongoDB 的数据库操作、Session 和 Cookies 的控制访问、前后端交互、日志记录等各种网站开发中需要掌握的知识和方法。
  
  贴心的附录介绍了 JavaScript 的高级特性,包括作用域、闭包、对象等知识,为函数式编程铺垫道路。还给出了一些约定俗成的编程规范,从缩进到变量函数命名都给出了十分有用的建议。书末的索引更是方便了专业名词的查找。每章结束都会给出参考文献,不仅方便读者参阅,也体现了作者严谨认真的写作态度。
  
  总的来说,作为国内第一本 Node.js 相关的书籍,此书虽为入门,但全面系统,开辟了一条正确清晰的道路。如果你想学习这样一个崭新先进的网页开发语言,请把《Node.js 开发指南》买回家吧,闲时可以打发时间,用时可以速查速记,学时可以轻松掌握。或许有一天会出电子版,但一本书拿在手里的感觉是电子版无论如何比不得上的。有什么问题可以到 Node.js 中文社区 http://cnodejs.org/ 提问,通过社交网络的力量充实自己。
  
  同时也希望作者能乘风破万里浪,以后更有佳作出。

本文选自豆瓣书评,作者:王者自由

地址: http://book.douban.com/review/5529655/

你可能感兴趣的:(JavaScript,编程,node.js)