NodeJS简介

                  NodeJS简介

                                   作者:尹正杰 

版权声明:原创作品,谢绝转载!否则将追究法律责任。

 

 

一.Node.js概述

1>.Node.js简介

  Node.js是一个能够在服务器端运行的JavaScript的开放源代码,跨平台JavaScript运行环境。

  Node.js采用Google的V8引擎运行JS代码,使用事件驱动,非阻塞和异步I/O模型等技术来提高性能,可优化应用程序的传输量和规模。

  Node.js大部分基本模块都用JavaScript编写,在Node出现之前,JavaScript编写。在Node出现之前,JS通常作为客户端程序设计语言使用,以JS写出的程序通常在用户的浏览器上运行。
  目前,Node.js已被IBM,Microsoft,Yahoo!,Walmart,Groupon,SAP,LinkedIn,Rakuten,Paypal,Voxer和GoDaddy等企业采用。

2>.Node.js之父-瑞安·达尔(Ryan Dahl)简介

  Ryan Dahl并非科班出身(即"非计算机专业")的开发者,在2004年的时候他还在纽约的罗彻斯特大学数学系读博士。

  2006年,也许是厌倦了读博的无聊,他产生了"世界那么大,我想去看看"的念头,做出了退学的决定,然后一个人来到智利的Valparaiso小镇。

  从那时起,Ryan Dahl不知道是否因为生活的关系,他开始学习网站开发,走上了码农的道路。那时候Ruby On Rails很火,它也不例外的学习了它。

  从那时候开始,Ryan Dahl的生活方式就是接项目,然后去客户的地方工作,在他眼中,那公司和上班其实就是去哪里旅行。

  Ryan Dahl经过仅仅两年的工作后,成为了高性能Web服务器的专家,从接开发应用到变成专门帮客户解决性能问题的专家。期间他开始写一些开源项目帮助客户解决Web服务器的高并发性能问题,它尝试了很多种语言,但是最终都失败了。

  在他快绝望的时候,Google的V8引擎来了。V8满足他关于高性能WEB服务器的想象。于是在2009年2月它开始着手编写Node.js。

3>.Node.js的简史

  2009年:
    瑞安·达尔(Ryan Dahl)在GitHub上发布的node的最初版本。

  2010年1月:
    Node的包管理器npm诞生。

  2010年底:
    joyent公司赞助Node的开发,瑞安·达尔(Ryan Dahl)加入旗下,全职负责Node。

  2011年7月:
    Node超越Ruby on Rails,称为Github上关注度最高的项目。

  2012年1月:
    瑞安·达尔(Ryan Dahl)离开Node项目。

  2014年12月:
    Fedor Indutny在2014年12月制作了分支版本,并起名"io.js"
  2015年初:
    Node.js基金会成立(其中有IBM,Inter,Microsoft,Joyent公司参与),在此之前Node.js项目有Joyent这一家公司维护,这也是为什么上面有"io.js"分支的诞生。
  2015年9月:     Node.js和io.js合并,Node
4.0发布。   2016年:     Node 6.0发布。   2017年:     Node 8.0发布。
  温馨提示:
    上面只提到了Node.js的偶数版本(Node 4.0,Node 6.0和Node 8.0),也就是说是存在Node 5.0以及Node 7.0版本的,但在生产环境中也推荐大家使用偶数版本,因为奇数版本相对来说可能有不稳定的因素!
  Node官网地址:     https:
//nodejs.org/en/

 

二.Node.js和JavaScript的区别

  JavaScript是在浏览器中运行的代码,他的作用域只在浏览器中,并不能超出浏览器所有的权限,而Node.js则跳出了浏览器的限制,它可以像Java,Python,Golang这样的编程语言一样,可以直接和操作系统进行交互;

  从C/S架构来说,JavaScript是在客户端浏览器上渲染的程序,而Node.js既可以充当Client角色,也可以充当Server端角色;

 

三.Node的应用场景

  Node的用途:
    (1)Web服务API,比如REST;
    (2)实时多人游戏;
    (3)后端的Web服务,例如跨域,服务器端的请求;
    (4)基于Web的应用;
    (5)多客户端的通信,如即时通信;

  温馨提示:
    Node.js是基于单线程实现的,但是后台拥有一个I/O线程池。可以说Node.js成也单线程,败也单线程,尽管单线程的处理效率很高,但也是有极限的。不过值得庆幸的是,Node.js支持分布式,即单节点性能达到瓶颈,我们可以增加机器来解决性能问题。
    综上所述,在超大并发的场景下,Node.js并不太适合做后端的服务器开发语言,建议还是选择支持高并发的语言,比如Java,C++,Golang等。当然,Python也是可以的,但由于GIL的存在,因此它在后端开发能力上相比Java和Go,并没有特别可圈可点的地方。
  NodeJS的运行环境部署:     https:
//www.cnblogs.com/yinzhengjie/p/14221305.html

 

posted @ 2021-01-01 01:04  尹正杰  阅读(684)  评论(0编辑  收藏  举报