為何需要 Node.js?

已完成

此單元描述使用 Node.js 的主要優點與使用時機。

多用途技術

您可以使用 Node.js 建置各種可直接投入使用的應用程式。 這些應用程式的範圍可能涵蓋傳統的輕量級高流量聊天程式,以至於命令列工具與網頁伺服器。 Node.js 一開始便是針對處理大量並行要求所設計。

JavaScript

「任何可使用 JavaScript 撰寫的應用程式,最終都會以 JavaScript 撰寫。」– Jeff Atwood,作家、企業家、StackOverflow 的共同創立者。

今天,許多瀏覽器外部的應用程式都是以 JavaScript 或是支援 JavaScript 為頭號公民的語言所寫就,包括:

  • 程式碼編輯器 (例如 Visual Studio Code 與 Atom) 是以 JavaScript 或 TypeScript (含靜態輸入的 JavaScript 超集) 編寫而成。 這些編輯器執行內嵌版本的 Node.js 執行階段。
  • 以 JavaScript 撰寫並在 Node.js 上執行的 Web 伺服器和後端處理應用程式。
  • 許多物聯網 (IoT) 與即時應用程式都是以 JavaScript 寫成,並依賴伺服器或微控制器與系統單晶片 (SoC) 平台 (例如 Puck.js 或 Tessel) 上的 Node.js 才能執行。
  • 可使用 JavaScript 或 TypeScript 建置高效能原生行動應用程式的 NativeScript 等技術。
  • 許多以 JavaScript 為外掛程式系統使用的應用程式,例如 Sketch、Adobe XD 與 Google Apps Script。

社群

社群為 Node.js 建置並在節點套件管理員 (NPM) 上發佈的模組與程式庫已逾數百萬。 開發人員可以輕鬆下載,並將這些模組整合至現有專案中。 可以在 Node.js 上執行的應用程式包括命令列工具、架構、網頁伺服器,以及更多項目。

開放原始碼

Node.js 是 OpenJS Foundation 支援的開放原始碼技術。 大量的作用中開放原始碼社群與參與者,持續致力於改善及最佳化此技術。 最上層社群委員會有權指揮社群拓展工作。

整合

開放原始碼套件和模組適用於可與許多其他技術整合的 Node.js。 例如,您可以使用 Node.js 建置使用 Express.js 架構並連線到 MongoDB 資料庫的網頁伺服器。 您也可以使用 Node.js 來建置使用 Commander.js 架構並連線到 MySQL 資料庫的命令行工具。