本教程操作环境:windows7系统、nodejs 12.19.0版,dell g3电脑。
nodejs诞生于2009年5月,是由大神ryan dahl开发的一个基于chrome v8引擎的javascript运行环境。
ryan 的本职工作是用 c++ 写服务器,后来他总结出一个经验,一个高性能服务器应该是满足“事件驱动,非阻塞 i/o”模型的。c++ 开发起来比较麻烦,于是 ryan 就想找一种更高级的语言,以便快速开发。可以说有两点促成了 nodejs 的诞生。
node的诞生原由和背景
ryan dahl的经历比较奇特他并非科班出身的开发者,在2004年的时候他还在纽约的罗彻斯特大学数学系读博士,期间有研究一些分形、分类以及p-adic分析,这些都跟开源和编程没啥关系
2006年 他有了『世界那么大,我想去看看』的念头,做出了退学的决定,开始了一些通过云的研究来进行他的工作,使用 ruby on rails 为滑雪板公司开发网站是他的正式编程生涯的开始,(后面的事件发展大家可以自己。。。)
直到2008年chrome 发布,并且同时发布了 v8 javascript 解释器。这是一个很棒很厉害的运行环境。 v8 发布后,ryan dahl开始对它进行分析,它看起来迷人而且干净,而且很快,突然之间ryan dahl想到:javascript 是单线程的,而且已经实现了非阻塞 ,但在 web 浏览器中人们使用 ajax 请求和事件时已经实现了非阻塞请求 这有点儿讽刺
ryan dahl认为javascript 结合异步 io,再结合一些 http服务器事件,将会变成一件非常酷的事情所以在接下来的四年里一直在做这项工作
2009年的2月,按新的想法他提交了项目的第一行代码,这个项目的名字最终被定名为“node”
ryan dahl在柏林举行的jsconf eu会议上发表关于node.js的演讲,之后node.js逐渐流行于世。
于是ryan dahl于2010年加入joyent(硅谷的创业公司),全职负责node.js项目的开发。此时node.js项目进入了它生命历程里的第二个阶段:从个人项目变成一个公司组织下的项目。
他对node的想法是以非阻塞的方式做所有事情 这样的话可以解决编程过程中遇到的很多问题,比如我们可以完全可以不需要关线程处理,只使用过程抽象和序列化通信就可以完成我们的工作。而且在过程中,完全异步方式可以处理很多很多的请求 这让他很坚信这个观点这种方式是很好的(很久之后当ryan dahl 遇到了go 的时候他改变了他原来的想法 因为go拥有合适的绿色线程和易于使用的抽象,由于go和操作系统的接口都是绿色线程,也是非阻塞 i/o 。但是,他们给用户的接口是阻塞的,这样的话对于使用者来说是非常友好 例如处理事件 a,等待一个响应或者一个错误;处理事件b,等待一个响应,出错很明显知道做什么遇到什么。但是在 node 中,这就变得更加困难,因为必须跳转到另一个函数调用多回调操作,虽然node社区的发展对这种方式的处理做的很好的解决方案,但本质是和go有区别的)
【推荐学习:《nodejs 教程》】
以上就是nodejs诞生于哪年的详细内容。
