Node.js是一個開放原始碼(Open Source)的應用程式框架(Application Framework),採用了效能極佳的Google V8 Javascript引擎(Google/Chromium瀏覽器內建的javaScript引擎)。自2009年公開發表以來,Node.js即備受世界各地軟體開發者矚目,才短短幾年的發展,一躍成為當今最紅的新星技術之一,在2011年12月更一度榮登Github關注排行的第一名,超過了Rubyon on rails,潛力不容小覷。
Node.js之所以這麼紅,並非空穴來風,主要雲因是Node.js選擇了有許多開發人員的JavaScript語言為基礎。要知道,拜網際網路World Wide Web的盛行所賜,無論軟體業界、非軟體業、業餘開發者亦是學生,在今天多多少少都懂得如何使用javaScript,全世界的使用者數量相當可觀且難以估計。這也是為什麼,有這麼多人在關注Node.js這項新技術。你也可以看到各家國際知名公司,如谷歌(Google)、微軟(Mircosoft)和雅虎(Yahoo),都投入Node.js的發展。
另一個走紅原因,就是JavaScript的事件驅動(Event-driven)特性,意外的能在網站後端應用產生極大的效益和功用,不但簡化了即時應用(如:聊天室、資料即時更新、社群訊息推送等)的實作,效能更是相當優異。這讓全世界掀起社群風的各類網站服務,無論原本用什麼語言開發,紛紛採用和研究Node.js,甚至視Node.js為最佳解決方案。
在過去,JavaScript只不過是一個跑在瀏覽器上的腳本語言(Script Language),能力相當有限,頂多是制一些網頁上的元素、簡單的邏輯、設計使用者介面、動化和瀏覽動線。更由於瀏覽器的安全保護因素,JavaScript語言幾乎完全沒有機會與系統接軌,操作低階的系統功能(如:檔案存取I/O),更不用說進行硬體控制。因此,一直許多人戲稱JavaScript是個玩具語言,若不是近年來前端使用者介面設計議題抬頭,JavaScript可能至今都不會有太多人重視。
不過,Node.js提供了JavaScript使用者新的機會,讓JavaScript程式不再綁手綁腳的只能跑在瀏覽器上或只能開發前端應用程式,而是可以獨立執行,並開發伺服器上的後端應用,更進一步運行於桌面系統和崁入式系統。
簡單來說,Node.js除了讓JavaScript引擎獨立,不在需要已靠瀏覽器運行外,也設計了一系列機制和APIs,擴充了許多JavaScript語言沒有的強大功能,諸如模組機制(Module)、檔案系統存取(File System)、網路存取(Socket)和程序控制(Process)等。Node.js讓javaScript從此脫胎換骨,令開發者完全可以開始運用JavaScript開發各類用途的應用程式。
節錄自:不一樣的Node.js
沒有留言:
張貼留言