node 简介 起源

  最近的node 的一篇文章阅读量很大,因此写一篇基础篇供你们分享,抛砖引玉,各取所需。前端

  部份内容来源大神笔记。node

 

Node.js


简介:@@@@@@@@@@@@@@@@@@@后端

Node.js是目前很是火热的技术,可是它的诞生经历却很奇特。浏览器

众所周知,在Netscape设计出JavaScript后的短短几个月,JavaScript事实上已是前端开发的惟一标准。服务器

后来,微软经过IE击败了Netscape后一统桌面,结果几年时间,浏览器毫无进步。(2001年推出的古老的IE 6到今天仍然有人在使用!)异步

没有竞争就没有发展。微软认为IE6浏览器已经很是完善,几乎没有可改进之处,而后解散了IE6开发团队!而Google却认为支持现代Web应用的新一代浏览器才刚刚起步,尤为是浏览器负责运行JavaScript的引擎性能还可提高10倍。性能

先是Mozilla借助已壮烈牺牲的Netscape遗产在2002年推出了Firefox浏览器,紧接着Apple于2003年在开源的KHTML浏览器的基础上推出了WebKit内核的Safari浏览器,不过仅限于Mac平台。优化

随后,Google也开始建立自家的浏览器。他们也看中了WebKit内核,因而基于WebKit内核推出了Chrome浏览器。线程

Chrome浏览器是跨Windows和Mac平台的,而且,Google认为要运行现代Web应用,浏览器必须有一个性能很是强劲的JavaScript引擎,因而Google本身开发了一个高性能JavaScript引擎,名字叫V8,以BSD许可证开源。设计

话说有个叫Ryan Dahl的歪果仁,他的工做是用C/C++写高性能Web服务。对于高性能,异步IO、事件驱动是基本原则,可是用C/C++写就太痛苦了。因而这位仁兄开始设想用高级语言开发Web服务。他评估了不少种高级语言,发现不少语言虽然同时提供了同步IO和异步IO,可是开发人员一旦用了同步IO,他们就再也懒得写异步IO了,因此,最终,Ryan瞄向了JavaScript。

由于JavaScript是单线程执行,根本不能进行同步IO操做,因此,JavaScript的这一“缺陷”致使了它只能使用异步IO。

选定了开发语言,还要有运行时引擎。这位仁兄曾考虑过本身写一个,不过明智地放弃了,由于V8就是开源的JavaScript引擎。让Google投资去优化V8,咱只负责改造一下拿来用,还不用付钱,这个买卖很划算。

因而在2009年,Ryan正式推出了基于JavaScript语言和V8引擎的开源Web服务器项目,命名为Node.js。虽然名字很土,可是,Node第一次把JavaScript带入到后端服务器开发,加上世界上已经有无数的JavaScript开发人员,因此Node一会儿就火了起来。

相关文章
相关标签/搜索