Nodejs 基础信息:什么是 Node.js? 0 个改进

简介

Node.js 是能够在服务器端运行 JavaScript 运行环境。Node.js 目前由 Node.js 基金会持有和维护,并与 Linux 基金会保持紧密合作。Node.js 采用 Google 开发的 V8 引擎来运行代码,使用事件驱动、非阻塞和异步输入输出模型等技术来提高性能,可优化应用程序的传输量和规模。这些技术通常用于数据密集的即时应用程序。

Node.js 大部分基本模块都用 JavaScript 语言编写。在 Node.js 出现之前,JavaScript 通常作为客户端程序设计语言使用,以 JavaScript 写出的程序常在用户的浏览器上运行。Node.js 的出现使 JavaScript 也能用于服务端编程。Node.js 含有一系列内置模块,使得程序可以脱离 Apache/Nginx 或 IIS 等 HTTP Server,作为独立服务器运行。

当前,Node.js 已获 IBM、Microsoft、Yahoo!、Walmart、Groupon、SAP、LinkedIn、Rakuten、PayPal 和 GoDaddy 等企业采用。

简史

Node.js 于 2009 年发布,其原始作者是瑞安·达尔(Ryan Dahl)。其设计灵感源自 Flickr 的一款上传进度栏:在上传过程中,浏览器并不清楚有多少文件已经发送到服务器,除非向服务器进行查询,于是达尔想出了一个更简便的方法。Node.js 的早期开发和维护工作由达尔本人主持,而他所在的 Joyent 公司也提供了赞助。

2009年 11 月 8 日,Dahl 在欧洲 JSConf 大会上展示了 Node.js 项目,并受到了观众赞赏。在演讲中,达尔针对Apache HTTP Server 和同步编程方式(Sequential Programming)提出了批评,认为 Apache 处理大量并发连接(10,000甚至更多)的可能性有限,而且同步编程方式在多连接情况下会造成阻塞,或者消耗更多资源;Node.js 提出了异步编程的概念,其提供了基于事件驱动和非阻塞的接口,可用于编写高并发状态下的程序,而且 JavaScript 的匿名函数、闭包、回调函数等特性就是为事件驱动而设计的。

2010 年1月,一款名为 NPM 的软件包管理系统诞生。NPM 使程序员能够更方便地发布和分享 Node.js 类库及源代码,而且简化了类库安装、升级与卸载的过程。Node.js 最初仅支持 Linux 和 Mac OS X 操作系统。2011 年 6 月,微软和 Joyent 共同合作,把 Node.js 移植到了 Windows 系统上面,并且在 7 月发布了第一个正式支持 Windows 系统的版本。

2012年1月,达尔离开了 Node.js 项目,开发工作由他的同事以及 NPM 创始人艾萨克·施吕特(Isaac Schlueter)继续主持。

2014 年 2月,蒂莫西·费里斯(Timothy J. Fontaine)接任项目主管。

2014 年 12 月,由于长期对 Joyent (创始人所在的公司)的管理感到不满,Node.js 核心开发者 Fedor Indutny 制作了分支版本,并起名 io.js。与 Node.js 相对的是,io.js 采用开放管理模式进行管理,并计划始终采用最新版的 V8 引擎。

为了在用户、厂商和开发者之间获取平衡,Node.js基金会于 2015 年初成立。基金会得到了IBM、Intel、微软、Joyent等公司的支持。6月,Node.js和io.js开发者社区共同决定合并到Node.js基金会之下。同年9月,Node 4.0发布,Node.js 和 io.js 正式合并。4.0版引入了 ES6 的语言特性和 LTS (长期支持版本) 的发布周期。

2016 年,io.js 宣布不再发布新版本,并建议开发者换回Node.js。

本文为 Wiki 文章,邀您参与纠错、纰漏和优化
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!