nodejs誕生於2009年5月,是由大神Ryan Dahl開發的一個基於Chrome V8引擎的JavaScript運行環境;它使用了一個事件驅動、非阻塞式I/O模型,讓JavaScript可以運行在服務端的開發平台。
本教學操作環境:windows7系統、nodejs 12.19.0版,DELL G3電腦。
nodejs誕生於2009年5月,是由大神Ryan Dahl開發的一個基於Chrome V8引擎的JavaScript運行環境。
Ryan 的本職工作是用 C 寫伺服器,後來他總結出一個經驗,一個高效能伺服器應該是滿足「事件驅動,非阻塞 I/O」模型的。 C 開發起來比較麻煩,於是 Ryan 就想找更高階的語言,以便快速開發。可以說有兩點促成了 Nodejs 的誕生。
node的誕生原由和背景
Ryan Dahl的經歷比較奇特他並非科班出身的開發者,在2004年的時候他還在紐約的羅徹斯特大學數學系讀博士,期間有研究一些分形、分類以及p-adic分析,這些都跟開源和程式設計沒啥關係
2006年他有了『世界那麼大,我想去看看’的念頭,做出了退學的決定,開始了一些透過雲的研究來進行他的工作,使用Ruby on Rails 為滑雪板公司開發網站是他的正式編程生涯的開始,(後面的事件發展大家可以自己。。)
直到2008年Chrome 發布,並且同時發布了V8 JavaScript 解釋器。這是一個很棒很厲害的運作環境。 V8 發布後,Ryan Dahl開始對它進行分析,它看起來迷人而且乾淨,而且很快,突然之間Ryan Dahl想到:JavaScript 是單線程的,而且已經實現了非阻塞,但在web 瀏覽器中人們使用AJAX 請求和事件時已經實現了非阻塞請求這有點諷刺
Ryan Dahl認為JavaScript 結合異步IO,再結合一些HTTP伺服器事件,將會變成一件非常酷的事情所以在接下來的四年裡一直在做這項工作
2009年的2月,按新的想法他提交了專案的第一行程式碼,這個專案的名字最終被定名為「node」
Ryan Dahl在柏林舉行的JSConf EU會議上發表關於Node.js的演講,之後Node.js逐漸流行於世。
於是Ryan Dahl於2010年加入Joyent(矽谷的創業公司),全職負責Node.js專案的開發。此時Node.js專案進入了它生命歷程裡的第二個階段:從個人專案變成一個公司組織下的專案。
他對node的想法是以非阻塞的方式做所有事情這樣的話可以解決編程過程中遇到的很多問題,比如我們可以完全可以不需要關線程處理,只使用過程抽象和序列化通訊就可以完成我們的工作。而且在過程中,完全非同步方式可以處理很多很多的請求這讓他很堅信這個觀點這種方式是很好的(很久之後當Ryan Dahl 遇到了Go 的時候他改變了他原來的想法 因為Go擁有合適的綠色線程和易於使用的抽象,由於Go和操作系統的接口都是綠色線程,也是非阻塞I/O 。但是,他們給用戶的接口是阻塞的,這樣的話對於用戶來說是非常友好 例如處理事件A,等待一個回應或一個錯誤;處理事件B,等待一個回應,出錯很明顯知道要做什麼遇到什麼。但是在Node 中,這就變得更加困難,因為必須跳到另一個函數調用多回調操作,雖然node社群的發展對這種方式的處理做的很好的解決方案,但本質是和Go有區別的)
【推薦學習:《nodejs 教程》】
以上是nodejs誕生於哪一年的詳細內容。更多資訊請關注PHP中文網其他相關文章!