新时期的Node.js入门
上QQ阅读APP看书,第一时间看更新

前言

国内Node的开发者很多都读过朴灵写的《深入浅出Node.js》(以下简称《深入浅出》)一书,笔者也不例外,笔者在2014年初第一次接触Node,最初读的几本书就包含了这本《深入浅出》 ,该书出版于2013年12月,距今已经差不多有4年的时间了。

对于一门高速发展的语言来说,4年算得上很长的时间了。4年前Node的版本号还在0.10.x,而时至今日,已经迎来v8.0.0的最新版本了。

Node项目始于2009年,2013年恰好处在当今(2017年)和2009年的中间节点,一门语言在诞生之初的发展总是最快的,到了现在,Node逐渐地变得稳定下来。

但即使这样,这4年中也发生了不少大事件:Node从分裂又走向了统一,ES2015标准的推出等。

那么4年后的今天,Node有了哪些改变呢?

一方面,基本的概念几乎没有改变,底层的libuv和事件循环还是原来的样子,主要模块的API也没什么大的变化。

另一方面,变动最多的大概是语法了,ECMAScript沉寂数年之后,终于推出了重量级的新版本ES2015,并且计划每年发布一个新版本。

换个角度来说,如果现在有一份使用Node最新版本写的代码,拿给还在使用0.10的开发者看,最大可能是对里面各种奇怪的关键字和语法感到疑惑。这本身就说明了Node发生了如此大的变动。

在笔者看来,Node的发展进入了平台期,这意味着在一段时间内,Node将维持现有的模样,或许会增加或修改一些语法,底层的V8也可能做一些大幅度的改进,但代码的基本结构不会有大的变动。

Node的发展大致分为几个阶段:

  • 第一个阶段:从诞生到分裂,大致5年的时间。
  • 第二个阶段:从与io.js合并到ES2015标准正式落地,只有不到半年的时间。
  • 第三个阶段:从v6.0.0全面支持ES2015至今,Node较大的更新都是围绕着新的ECMA201x标准展开的。

所有的新与旧都是相对的,虽然在目前来看,本书记述的内容还算是比较新的,无论是ES201x的使用,还是Koa2框架的介绍,都属于同类书中较少涉及的领域,但要是再过几年的时间,本书的内容也会变得过时。