node js能做什么,nodejs干什么用的

  node js能做什么,nodejs干什么用的

  node.js速度课程简介:进入学习

  本文运行环境:windows7系统,nodejs版本nodejs10.16.2,DELL G3电脑。

  nodejs是做什么的?

  Node.js是一个开源的跨平台运行环境,可以在服务器端运行JavaScript。Node.js由OpenJS Foundation(原Node.js Foundation,已与JS Foundation合并)持有和维护,也是Linux Foundation的一个项目。Node.js采用Google开发的V8运行代码,使用事件驱动、非阻塞、异步输入输出模型提升性能,可以优化应用的传输量和规模。这些技术通常用于数据密集型实时应用。

  Node.js的大部分基础模块都是用JavaScript语言编写的。Node.js出现之前,通常使用JavaScript作为客户端编程语言,用JavaScript编写的程序经常运行在用户的浏览器上。Node.js的出现使得JavaScript可以用于服务器端编程。Node.js包含一系列内置模块,这样程序就可以作为独立的服务器运行,不需要Apache HTTP Server或者IIS。

  nodejs介绍:

  Node.js是目前非常火热的技术,但是它的诞生体验却很奇怪。

  众所周知,就在网景设计出JavaScript的几个月后,JavaScript实际上已经成为前端开发的唯一标准。

  后来微软通过IE打败了网景,统一了桌面。结果浏览器几年都没什么进展。(2001年推出的老款IE 6,今天还在用!)

  没有竞争,就没有发展。微软认为IE6浏览器已经很完美了,提升空间不大,然后解散了IE6开发团队!然而,谷歌认为支持现代Web应用的新一代浏览器才刚刚起步,尤其是浏览器的JavaScript引擎的性能可以提高10倍。

  起初,Mozilla在2002年借助网景遗产的壮烈牺牲推出了火狐浏览器。然后在2003年,苹果基于开源的KHTML浏览器推出了带有WebKit内核的Safari浏览器,但仅限于Mac平台。

  随后,谷歌也开始创建自己的浏览器。他们也看中了WebKit内核,于是推出了基于WebKit内核的Chrome浏览器。

  Chrome浏览器是跨平台的,介于Windows和Mac之间,谷歌认为浏览器要运行现代的Web应用,必须有非常强大的JavaScript引擎,所以谷歌开发了一个高性能的JavaScript引擎,命名为V8,在BSD许可下开源。

  现代浏览器大战已经把微软的IE浏览器远远甩在后面了,因为他们解散了最有经验最有战斗力的浏览器团队!回过头来追赶,发现支持HTML5的WebKit已经成为了手机的标配,IE浏览器也从此与主流移动设备隔绝。

  浏览器大战和Node有什么关系?

  有个坚果叫Ryan Dahl,他的工作就是用C/C写高性能的Web服务,为了高性能,异步IO和事件驱动是基本原则,但是用C/C写太痛苦了。于是这个人开始想象用高级语言开发Web服务。他评估了很多高级语言,发现虽然很多语言同时提供了同步IO和异步IO,但是开发者一旦使用了同步IO,就不再偷懒写异步IO了。所以,最终,Ryan瞄准了JavaScript。

  因为JavaScript是单线程执行的,根本无法进行同步IO操作,所以JavaScript的这个“缺陷”导致它只能使用异步IO。

  选择开发语言,需要运行时引擎。这个家伙曾经考虑过自己写一个,但是明智地放弃了,因为V8是一个开源的JavaScript引擎。让谷歌投资优化V8。我们只负责改造它,使用它,不用付钱。这个生意性价比很高。

  于是在2009年,Ryan正式推出了一个基于JavaScript语言和V8引擎的开源Web服务器项目,命名为Node.js虽然名字很土,但是Node第一次把JavaScript带入了后端服务器开发,世界上有无数的JavaScript开发者,于是Node一下子流行起来。

  运行在Node上的JavaScript比其他后端开发语言有什么优势?

  最大的好处是,借助JavaScript天生的事件驱动机制和V8高性能引擎,很容易写出高性能的Web服务。

  其次,JavaScript语言本身就是一种完美的函数式语言。前端开发中,开发者往往写得很随意,让人觉得JavaScript是一种“玩具语言”。但在节点环境下,通过模块化的JavaScript代码和函数式编程,且不考虑浏览器兼容性,直接使用最新的ECMAScript 6标准完全可以满足工程要求。

  我也听说过io.js这是什么鬼?

  因为Node.js是一个开源项目,虽然是社区驱动的,但背后一直有Joyent公司的资助。由于一批开发人员对Joyent的策略不满,他们在2014年从Node.js项目分叉中拿出io.js项目,并决定单独开发,但两者实际上是兼容的。

  但是中国有句老话,叫做“久必合,久必分”。分离后不久,Joyent表示想要和解,于是io.js项目决定回归Node.js

  具体做法是io.js未来会先增加新功能。如果你测试的好,就把新特性加入Node.js Io.js是“尝鲜版”,Node.js是在线稳定版,相当于Fedora Linux和RHEL的关系。

  推荐:《nodejs视频教程》以上是nodejs做什么的详细内容。更多请关注我们的其他相关文章!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: