Node.js是一個Javascript運行環(huán)境(runtime),發(fā)布于2009年5月,由Ryan Dahl開發(fā),實質(zhì)是對Chrome V8引擎進行了封裝。Node.js對一些特殊用例進行優(yōu)化,提供替代的API,使得V8在非瀏覽器環(huán)境下運行得更好。
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.
V8引擎執(zhí)行Javascript的速度非???,性能非常好。 Node.js是一個基于Chrome JavaScript運行時建立的平臺, 用于方便地搭建響應(yīng)速度快、易于擴展的網(wǎng)絡(luò)應(yīng)用。Node.js 使用事件驅(qū)動, 非阻塞I/O 模型而得以輕量和高效,非常適合在分布式設(shè)備上運行數(shù)據(jù)密集型的實時應(yīng)用。
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.
V8引擎執(zhí)行Javascript的速度非???,性能非常好。 Node.js是一個基于Chrome JavaScript運行時建立的平臺, 用于方便地搭建響應(yīng)速度快、易于擴展的網(wǎng)絡(luò)應(yīng)用。Node.js 使用事件驅(qū)動, 非阻塞I/O 模型而得以輕量和高效,非常適合在分布式設(shè)備上運行數(shù)據(jù)密集型的實時應(yīng)用。
發(fā)展史
-
2009年2月,Ryan Dahl在博客上宣布準(zhǔn)備基于V8創(chuàng)建一個輕量級的Web服務(wù)器并提供一套庫。
-
2009年5月,Ryan Dahl在GitHub上發(fā)布了最初版本的部分Node.js包,隨后幾個月里,有人開始使用Node.js開發(fā)應(yīng)用。
-
2009年11月和2010年4月,兩屆JSConf大會都安排了Node.js的講座。
-
2010年年底,Node.js獲得云計算服務(wù)商Joyent資助,創(chuàng)始人Ryan Dahl加入Joyent全職負(fù)責(zé)Node.js的發(fā)展。
-
2011年7月,Node.js在微軟的支持下發(fā)布Windows版本。
Node.js的優(yōu)點
nodejs作為一個新興的前端框架,網(wǎng)站建設(shè)后臺語言,有很多吸引人的地方:
RESTful API
單線程
Node.js可以在不新增額外線程的情況下,依然可以對任務(wù)進行并發(fā)處理 —— Node.js是單線程的。它通過事件輪詢(event loop)來實現(xiàn)并發(fā)操作,對此,我們應(yīng)該要充分利用這一點 —— 盡可能的避免阻塞操作,取而代之,多使用非阻塞操作。
非阻塞IO
V8虛擬機
事件驅(qū)動


