2.1.What is Node.js?

  • 話說從頭: 關於Javascript 與 MEAN Stack

    • Node.js 是一個javascript runtime built on Chromes V8 javascript engine

    • 在從前Javascript是只能在用戶端執行的腳本語言, 自從在Node出現後得以讓Javascript可以在伺服器端執行,

      開發者幾乎可以以Javascript一手包辦前端, 後端, 資料庫的開發.

    • 相較於傳統以LInux, Apache, MySQL, PHP所組成的"LAMP", 以Node.js為堆疊核心,

      由MongoDB, Express, Angular, Node組成的生態系簡稱為"MEAN", 由於Node與其框架Express都有十分完整的生態系及貢獻者,

      前端框架Angular的完整度更是不在話下, 因此MEAN成為近年來full stack開發上十分熱門的模式,

  • 那麼, Node究竟是什麼呢?

    • Node的角色是個Web server, 像是Internet Information Services (IIS)及Apache,

      Javacript引擎為Google的V8, 開發者開發時使用的是Javascript, 再藉由V8解譯.

      以下列出幾點主要明顯的特性:

      • 1) 省下了編譯的過程, 修改完腳本重新執行即可

      • 2) 單一執行緒, 事件驅動 (Event driven)

      • 3) 不需依賴平台, 不像.NET或是JAVA

  • Node的優缺點

    • 優點:

      • 1)前後端開發語言一致

      • 2)開放架構使生態系豐富

      • 3)適合IO密集型操作

      • 4)對於硬體的需求相對低

    • 缺點

      • 1)年紀較輕

      • 2)不適合CPU密集型操作

Last updated