Node 概述
什么是 Node
Node.js? is a JavaScript runtime built on Chrome's V8 JavaScript engine. Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient. Node.js' package ecosystem, npm, is the largest ecosystem of open source libraries in the world.
中文翻譯:Node.js 是一個(gè)基于 Chrome V8 引擎的 JavaScript 運(yùn)行環(huán)境。Node.js 使用了一個(gè)事件驅(qū)動、非阻塞式 I/O 的模型,使其輕量又高效。Node.js 的包管理器 npm,是全球最大的開源庫生態(tài)系統(tǒng)。
Node.js 于 2009 年寫成,其原始作者是瑞安·達(dá)爾(Ryan Dahl),Node.js 基金會于 2015 年初成立?;饡玫搅?IBM、Intel、微軟、Joyent 等公司的支持,目前 Node.js 的研發(fā)和管理由 Node.js 基金會統(tǒng)一管理。
Node 的意義
node 開啟了 JavaScript 牛逼的后端之旅。【雖然,在 Node 之前就有 js 服務(wù)端的嘗試,但是都沒有 Node 成功】
由于 node 集成了 js 單線程、事件驅(qū)動、非阻塞 I/O 模型等優(yōu)點(diǎn),NodeJs 天生就非常適宜做高性能的網(wǎng)絡(luò)請求、密集 IO 的應(yīng)用,為前端開發(fā)者敞開了全棧的大門
node 還為前端開發(fā)工具百花齊放百家爭鳴提供了基礎(chǔ)環(huán)境,讓前端真正進(jìn)入工程化時(shí)代。
....
Node 能干什么
- 高性能的網(wǎng)站服務(wù)器
- 實(shí)時(shí)多人游戲后臺服務(wù)器
- 簡單易用的命名行應(yīng)用程序
- gulp、less、bower、fis、http-server
- 高大上的桌面應(yīng)用程序
- 使用 Web 技術(shù) 作為解決方案
- electron Linus + Max + Windows
- 底層的物聯(lián)網(wǎng)開發(fā)
- 移動開發(fā)
- .....
誕生過程
Node 的作者:Ryan Dahl
- 2004年還在紐約讀數(shù)學(xué)系博士
- 2006年退學(xué)(世界那么大,我想去看看),生活所迫,選擇了碼農(nóng)
- 接項(xiàng)目、工作、旅行,兩年之后,成為了高性能Web服務(wù)器的專家
- 2009年5月,Ryan Dahl 在 github 上發(fā)布了最初的 Node 版本
- 2010年底,Ryan Dahl 加入 Joyent 公司全職負(fù)責(zé) Node 的發(fā)展
- 2011年7月,Node 在微軟的支持下發(fā)布了 Windows 版
- 2012年1月底,Ryan Dahl 將掌門人身份轉(zhuǎn)交給了 Isaac Z.Schlueter,自己轉(zhuǎn)向一些研究項(xiàng)目
- 2014年12月,多為重量級Node開發(fā)者不滿 Joyent 對 Node 的管理,自立門戶創(chuàng)建了
io.js - 2015年9月,Node 與 io.js 合并,Node 的版本從 0.12.7 直接升級到了 4.0.0
- 合并后的 io.js 和 Node 在 Joyent 公司的維護(hù)下并行了兩個(gè)版本:
- 一個(gè)是4.x.x 還是原來的 Node,這個(gè)版本是穩(wěn)定版
- 一個(gè)是5.x.x,目前已經(jīng)更新到了 6.8.1,其實(shí)就是 io.js,最新特性版,不建議生產(chǎn)環(huán)境使用
- Node 計(jì)劃在 2016 年 10月底正式發(fā)布 Node 7.0
- 7.0 已經(jīng)最大限度的支持了很多的 ES6 新語法
- 而且提高了整體的執(zhí)行性能,提供了一些別的API
總結(jié)
Node是一個(gè)開發(fā)平臺,這個(gè)開發(fā)平臺運(yùn)行的語言是JS(其實(shí)也可以運(yùn)行C++),它可以把JS代碼編譯成本地的本地操作系統(tǒng)的命令,直接運(yùn)行在操作系統(tǒng)之上,讓JS擁有了無比廣闊的發(fā)展空間。