你了解Node.js嗎?如果不了解可以試試看。本文透過7個問題簡單認識Node.js,希望對大家有幫助!
1. Node出生於哪一年?
Node誕生2009
年
#2009年3月,Node的作者在其部落格上宣布準備基於V8創建一個輕量級的Web伺服器並提供一套函式庫
同年5月,在GitHub發布最初的版本
2011年7月,在微軟的支援下發布了windows版本
2. 是誰創造出來的?
Ryan Dahl
是Node的創造者,被稱為Node之父
但在2012年1月,Ryan Dahl將掌門人身分轉交給Isaac Z.Schlueter,由他接受Node的版本發佈及bug修復等工作,Isaac Z.Schlueter也是後來NPM的作者
3. 為什麼叫Node?
Node有許多別稱,像是Nodejs、NodeJS、Node.js等,那為什麼是Node呢?
起初,Ryan Dahl稱他的專案為web.js,就是一個web伺服器,但是專案的發展超出了他最初單純開發一個web伺服器的設想。變成了一個建立網路應用的基礎框架,可以在它的基礎上建立更多的東西,如伺服器、客戶端、命令列工具等等。 Node發展為一個強制不共享任何資源的單線程、單進程系統,包含是適宜網絡的庫,為構建大型分散式應用程式提供基礎設施,其目標也稱為一個構建快速、可伸縮的網絡應用服務。它本身非常簡單,透過通訊協定來組織許多Node,非常容易透過擴充來達成建構大型網路應用的目的。 每一個Node進程都構成了這個網路應用中的一個節點,這正是Node的意思
4. 為什麼是JavaScript成為了Node的實作語言?
選擇JavaScript作為Node的實作語言的主要原因有3個:
Ryan Dahl曾經評估C、Lua、Haskell、Ruby等作為備選實現,但C開發門檻高,Lua有很多的歷史包袱,Haskell又覺得自己還玩不轉,而Ruby的虛擬機器的效能又不太好。綜合之下選擇了JavaScript作為Node的實作語言
你可能會跟我一樣想,JavaScript就沒有歷史包袱嗎?是的,JavaScript在後端一直沒有市場,歷史包袱相當於零
5. Node有哪些主要特點?
主要有以下特點:
Node保留了前端瀏覽器JavaScript中的那些熟悉的接口,沒有改寫語言本身的任何特性
6. Node有哪些應用場景?
Node的應用程式場景主要有以下幾種:
7. CPU密集型應用會為Node帶來什麼挑戰,如何解決?
CPU密集型應用程式會為Node帶來的主要挑戰是:由於JavaScript單線程,如果長時間計算(如大的循環),將會導致CPU時間片無法釋放,使得後續I/O無法啟動通常方案:nodejs 教學! !
以上是透過7個問題來簡單認識Node.js的詳細內容。更多資訊請關注PHP中文網其他相關文章!