Node.js教學

 Node.js是什麼?

Node.js是建立在穀歌Chrome的JavaScript引擎(V8引擎)的伺服器端平臺。Node.js是由瑞恩·達爾在2009年開發的,它的最新版本是v0.10.36。 Node.js確定在其官方文檔如下:

Node.js®是建立在Chrome的JavaScript運行時很容易構建快速,可擴展的網路應用程式的平臺。 Node.js使用事件驅動,非阻塞I/O模型,使得它重量輕,效率高,完美的跨分佈式設備運行數據密集型即時應用。

Node.js是一個開源,跨平臺運行環境的伺服器端和網路應用。Node.js應用程式是用JavaScript編寫的,並可以在OS X,微軟Windows和Linux內的Node.js運行時運行。

Node.js還提供了豐富的各種模組的JavaScript庫,從而簡化了使用Node.js,一個很大的程度上方便web應用程式的研究與開發。

Node.js = Runtime Environment + JavaScript Library

Node.js特性

以下是一些使得Node.js成為軟體架構師的首選的重要特徵。

  • Node.js庫非同步和事件驅動 - 所有API非同步是非阻塞。 這意味著一個基於Node.js的伺服器不會等待API返回數據。 伺服器移動到下一個API後調用它,Node.js事件的一個通知機制有助於伺服器,以獲得從以API調用的回應。

  • 非常快 - 正在構建在穀歌Chrome的V8 JavaScript引擎,Node.js庫代碼執行是非常快的。

  • 單線程但高度可擴展 - Node.js使用事件迴圈單線程模型。事件機制有助於伺服器在非阻塞的方式作出反應,並使得伺服器的高可擴展性,而不是它創建線程限制來處理請求的傳統伺服器。 Node.js使用單線程的程式和同樣的程式處理比傳統的伺服器要大的多,比如:比Apache HTTP伺服器請求服務的數量大得多。

  • 無緩衝 - Node.js的應用從來沒有緩衝任何數據。這些應用程式只需輸出塊中的數據。

  • 許可證 - Node.js是在MIT許可下發布的。

誰在使用Node.js?

以下是包含專案,應用和公司,都使用node.js一個詳盡的清單在github鏈接, 這個列表包括eBay, General Electric, GoDaddy, Microsoft, PayPal, Uber, Wikipins, Yahoo!, Yammer都在不斷使用它。

概念

下圖描述了Node.js的一些重要組成部分,我們將詳細在隨後的章節討論。

Node.js Concepts

在哪里可以使用Node.js?

以下是Node.js是證明自己完美的技術的領域。

  • I/O密集型應用程式

  • 數據流應用

  • 數據密集型即時應用(DIRT)

  • JSON API的應用程式

  • 單頁應用

在哪些地方不要使用Node.js?

不建議使用Node.js在CPU密集型應用。


開始學習 >> :Node.js快速入門