购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

1.2 Node.js简介

1.2.1 Node.js简史

从Node.js的命名上可以看到,Node.js的官方开发语言是JavaScript。之所以选择使用JavaScript,显然与JavaScript的开发人员有关。众所周知,JavaScript是伴随着互联网发展而火爆起来的,JavaScript也是前端开发人员必备的技能。同时,JavaScript也是浏览器能直接运行的脚本语言。

但也正是JavaScript在浏览器端的强势,导致人们对于JavaScript的印象还停留在小脚本的角色,认为JavaScript只能干点前端展示的简单活。

直到Chrome V8引擎(https://v8.dev/)的出现,让JavaScript彻底翻了身。Chrome V8是JavaScript渲染引擎,第一个版本随着Chrome浏览器的发布而发布(具体时间为2008年9月2日)。在运行JavaScript之前,相比其他的JavaScript的引擎转换成字节码或解释执行,Chrome V8将其编译成原生机器码(IA-32、x86-64、ARM或MIPS CPUs),并且使用了如内联缓存等方法来提高性能。Chrome V8可以独立运行,也可以嵌入到C++应用程序中运行。

随着Chrome V8引擎的声名鹊起,在2009年,Ryan Dahl正式推出了基于JavaScript和Chrome V8引擎的开源Web服务器项目,命名为Node.js。这使得JavaScript终于能够在服务器端拥有了一席之地。Node.js采用事件驱动和非阻塞I/O模型,使其变得轻微和高效,非常适合构建运行在分布式设备的数据密集型实时应用。从此,JavaScript成为从前端到后端再到数据库层能够支持全栈开发的语言。

Node. js能够火爆的另外一个原因是npm包管理工具的应用。npm可以轻松管理项目依赖,同时也促进了Node.js生态圈的繁荣,因为npm让开发人员分享开源技术变得不再困难。

以下列举了Node.js的大事件。

·2009年3月,Ryan Dahl正式推出Node.js。

·2009年10月,Isaac Schlueter首次提出了npm。

·2009年11月,Ryan Dahl首次公开宣讲Node.js。

·2010年3月,Web服务器框架Express.js问世。

·2010年3月,Socket.io第一版发布。

·2010年4月,Heroku首次实验性尝试对Node.js进行支持。

·2010年7月,Ryan Dahl在Google技术交流会上再次宣讲Node.js。

·2010年8月,Node.js 0.2.0发布。

·2010年年底,Node.js项目受到了Joyent公司的赞助,Ryan Dahl也加入到了Joyent公司负责Node.js的全职开发。

·2011年3月,Felix的Node.js指南发布。

·2011年5月,npm 1.0发布。

·2011年5月,Ryan Dahl在Reddit发帖接受任何关于Node.js的提问。

·2011年8月,LinkedIn产品在线上开始使用Node.js。

·2011年12月,Uber线上开始使用Node.js。

·2012年1月,Ryan Dahl宣布不再参与Node.js日常开发和维护工作,Isaac Schlueter接任。

·2012年6月,Node.js v0.8.0稳定版发布。

·2012年12月,Hapi.js框架发布。

·2013年4月,用Node.js开发的Ghost博客平台发布。

·2013年4月,著名的MEAN技术栈被提出

·2013年5月,eBay分享首次尝试使用Node.js开发应用的经验。

·2013年11月,沃尔玛线上用Node.js过程中发现了Node.js内存泄漏问题。

·2013年11月,PayPal发布一个Node.js的框架Kraken。

·2013年12月,著名的Koa框架发布。

·2014年1月,T.J.Fontaine接管了Node.js项目。

·2014年10月,Joyent和社区成员提议成立Node.js顾问委员会。

·2014年11月,多位重量级Node.js开发者不满Joyent对Node.js的管理,创建了Node.js的分支项目io.js。

·2015年1月,io.js发布1.0.0版本。

·2015年2月,Joyent携手各大公司和Linux基金会成立Node.js基金会,并提议io.js和Node.js和解。

·2015年4月,npm支持私有模块。

·2015年5月,T.J.Fontaine不再管理Node.js并离开Joyent公司。

·2015年5月,Node.js和io.js合并,隶属Node.js基金会。

·2015年9月8日,Node.js 4.0.0发布。Node.js没有经历1.0、2.0和3.0版本,就直接从4.0开始了,这也预示着Node.js迎来了一个新的时代。

·2015年10月29日,Node.js 5.0.0发布。

·2016年2月,Express作为Node.js基金会的孵化项目。

·2016年3月,爆发著名的left-pad事件。

·2016年3月,Google Cloud平台加入了Node.js基金会。

·2016年4月26日,Node.js 6.0.0发布。

·2016年10月,Yarn包管理器发布。

·2016年10月25日,Node.js 7.0.0发布。

·2017年9月,NASA的Node.js案例研究发布。

·2017年5月30日,Node.js 8.0.0发布。

·2017年10月31日,Node.js 9.0.0发布。

·2018年4月24日,Node.js 10.0.0发布。

·2018年10月23日,Node.js 11.0.0发布。

·2019年3月13日,Node.js基金会和JS基金会合并成了OpenJS基金会,以促进JavaScript和Web生态系统的健康发展。

·2019年4月23日,Node.js 12.0.0发布。

·2019年10月22日,Node.js 13.0.0发布。

·2020年4月22日,Node.js 14.0.0发布。

1.2.2 Node.js名称的由来

读者可能会好奇,Node.js为什么要这么命名。其实,一开始Ryan Dahl将他的项目命名为Web.js,致力于构建高性能的Web服务。但是随着项目的发展超出了他最初的预期,项目演变成为构建网络应用的一个基础框架。

在大型分布式系统中,“节点”在英文中翻译为“node”,它是用于构建整个系统的独立单元。因此,Ryan Dahl将他的项目命名为了Node.js,期望用于快速构建大型应用系统。 2JPFQD1rKO+95xhtPAIFSCDIRLTVAgghyY4iCkTwszjHRQxw2m7lcLtcdDdLGpT7

点击中间区域
呼出菜单
上一章
目录
下一章
×