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
Was this helpful?