Node.js是什么? 你很可能已经有所耳闻,甚至已经用上了,你也有可能对它很好奇。
现在Node还很年轻,它的首次亮相是在2009年。自2009年Node.js问世以来,JavaScript渐渐变成了能开发所有软件的语言,其地位也越来越重要,不再是只能勉强在浏览器上用一下的鸡肋语言了。
这里有ECMAScript 2015的功劳,因为它解决了之前那些ECMAScript标准中遗留下来的几个关键问题。Node所用的Google V8引擎就是基于ECMAScript 2015开发的。ECMAScript 2015是ECMAScript标准的第6个版本,所以有时也被称为ES6,一般简写为ES2015。
Node、React和Electron等技术创新成果的功劳也不可小觑,是它们让JavaScript无处不在:从服务器到浏览器,到原生的移动端应用程序。甚至像微软这样的大公司都对JavaScript敞开了怀抱,也为Node的成功起到推波助澜的作用。
官网上(http://www.nodejs.org)给Node下的定义是:“一个搭建在Chrome JavaScript运行时上的平台,用于构建高速、可伸缩的网络程序。Node.js采用的事件驱动、非阻塞I/O模型,使它既轻量又高效,并成为构建运行在分布式设备上的数据密集型实时程序的完美选择。”
2009
Node.js诞生了
创建了第一版npm(Node.js包管理器和生态)
2010
Express.js web框架诞生了
Socket.io诞生了
2011
npm 1.0版,大公司开始采用Node.js:LinkedIn,Uber等
Hapi.js诞生了
2012
使用率继续保持高速增长
2013
使用Node.js的第一个大博客平台:Ghost
Koa出生了
2014
分歧:io.js是Node.js的主要分支,其目标是引入ES6支持,并加快Node.js发展
2015
Node.js基金会诞生了
io.js合并回Node.js,npm引入私有模块
Node.js 4(直接跳过1, 2, 3版本)
2016
LeftPad事件
Yarn 诞生了
Node.js 6
2017
npm更注重安全性
Node.js 8
HTTP / 2
V8在其测试套件中引入了Node.js,除了Chrome之外,正式使Node.js成为V8引擎的目标平台
每周下载30亿npm
2018
Node.js 10
ES模块.mjs实验支持
2019
Node.js 12
V8 更新带来好多不错的特性
HTTP 解析速度提升
启动速度大幅提升
更好的诊断报告和堆分析工具
ES模块更新
今天为小伙伴们推荐一本Node图书:
《Node.js实战(第2版)》
本书是在《Node.js实战》基础上打造的全新著作,由多位Node核心框架构建者和经验丰富的Web开发人员执笔,结合大量实例介绍如何用JavaScript和Node创建高性能的Web服务器,涵盖异步编程、状态管理、事件驱动编程等关键设计理念,旨在帮助读者成功晋级全栈开发。
●前端系统构建
●服务器端框架选择
●如何用Express从头开始搭建Web程序
●与数据库的交互
●掌握非阻塞I/O
●Node的事件轮询
●测试与部署
●Web程序模板
●用Node开发命令行工具和桌面软件
第1版赞誉
“内容循序渐进,由浅入深。”
——Node.js项目负责人Isaac Z. Schlueter
“Node及Node.js生态系统的权威指南。”
——Kevin Baister,1KB Software Solutions公司
“书中的示例有非常强烈的现实意义(也很有趣)。”
——àlexMadurell,PolymediaSpA
“非常引人入胜……能让你非常快速地进入状态。”
——Gary Ewan Park,霍尼韦尔公司
“由编写Node.js代码的人写出来的宝贵资源。”
——Brian Falk,NodeLingo,GoChime