溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

nodejs什么時(shí)候發(fā)布的

發(fā)布時(shí)間:2021-11-12 13:43:13 來(lái)源:億速云 閱讀:142 作者:小新 欄目:web開(kāi)發(fā)

這篇文章主要介紹nodejs什么時(shí)候發(fā)布的,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!

nodejs誕生于2009年5月,是由大神Ryan Dahl開(kāi)發(fā)的一個(gè)基于Chrome V8引擎的JavaScript運(yùn)行環(huán)境;它使用了一個(gè)事件驅(qū)動(dòng)、非阻塞式I/O模型,讓JavaScript可以運(yùn)行在服務(wù)端的開(kāi)發(fā)平臺(tái)。

本教程操作環(huán)境:windows7系統(tǒng)、nodejs 12.19.0版,DELL G3電腦。

nodejs誕生于2009年5月,是由大神Ryan Dahl開(kāi)發(fā)的一個(gè)基于Chrome V8引擎的JavaScript運(yùn)行環(huán)境。

Ryan 的本職工作是用 C++ 寫(xiě)服務(wù)器,后來(lái)他總結(jié)出一個(gè)經(jīng)驗(yàn),一個(gè)高性能服務(wù)器應(yīng)該是滿足“事件驅(qū)動(dòng),非阻塞 I/O”模型的。C++ 開(kāi)發(fā)起來(lái)比較麻煩,于是 Ryan 就想找一種更高級(jí)的語(yǔ)言,以便快速開(kāi)發(fā)??梢哉f(shuō)有兩點(diǎn)促成了 Nodejs 的誕生。

node的誕生原由和背景

Ryan Dahl的經(jīng)歷比較奇特他并非科班出身的開(kāi)發(fā)者,在2004年的時(shí)候他還在紐約的羅徹斯特大學(xué)數(shù)學(xué)系讀博士,期間有研究一些分形、分類(lèi)以及p-adic分析,這些都跟開(kāi)源和編程沒(méi)啥關(guān)系

2006年 他有了『世界那么大,我想去看看』的念頭,做出了退學(xué)的決定,開(kāi)始了一些通過(guò)云的研究來(lái)進(jìn)行他的工作,使用 Ruby on Rails 為滑雪板公司開(kāi)發(fā)網(wǎng)站是他的正式編程生涯的開(kāi)始,(后面的事件發(fā)展大家可以自己。。。)

直到2008年Chrome 發(fā)布,并且同時(shí)發(fā)布了 V8 JavaScript 解釋器。這是一個(gè)很棒很厲害的運(yùn)行環(huán)境。 V8 發(fā)布后,Ryan Dahl開(kāi)始對(duì)它進(jìn)行分析,它看起來(lái)迷人而且干凈,而且很快,突然之間Ryan Dahl想到:JavaScript 是單線程的,而且已經(jīng)實(shí)現(xiàn)了非阻塞 ,但在 web 瀏覽器中人們使用 AJAX 請(qǐng)求和事件時(shí)已經(jīng)實(shí)現(xiàn)了非阻塞請(qǐng)求 這有點(diǎn)兒諷刺

Ryan Dahl認(rèn)為JavaScript 結(jié)合異步 IO,再結(jié)合一些 HTTP服務(wù)器事件,將會(huì)變成一件非??岬氖虑樗栽诮酉聛?lái)的四年里一直在做這項(xiàng)工作

2009年的2月,按新的想法他提交了項(xiàng)目的第一行代碼,這個(gè)項(xiàng)目的名字最終被定名為“node”

Ryan Dahl在柏林舉行的JSConf EU會(huì)議上發(fā)表關(guān)于Node.js的演講,之后Node.js逐漸流行于世。

于是Ryan Dahl于2010年加入Joyent(硅谷的創(chuàng)業(yè)公司),全職負(fù)責(zé)Node.js項(xiàng)目的開(kāi)發(fā)。此時(shí)Node.js項(xiàng)目進(jìn)入了它生命歷程里的第二個(gè)階段:從個(gè)人項(xiàng)目變成一個(gè)公司組織下的項(xiàng)目。

他對(duì)node的想法是以非阻塞的方式做所有事情 這樣的話可以解決編程過(guò)程中遇到的很多問(wèn)題,比如我們可以完全可以不需要關(guān)線程處理,只使用過(guò)程抽象和序列化通信就可以完成我們的工作。而且在過(guò)程中,完全異步方式可以處理很多很多的請(qǐng)求 這讓他很堅(jiān)信這個(gè)觀點(diǎn)這種方式是很好的(很久之后當(dāng)Ryan Dahl 遇到了Go 的時(shí)候他改變了他原來(lái)的想法  因?yàn)镚o擁有合適的綠色線程和易于使用的抽象,由于Go和操作系統(tǒng)的接口都是綠色線程,也是非阻塞 I/O 。但是,他們給用戶(hù)的接口是阻塞的,這樣的話對(duì)于使用者來(lái)說(shuō)是非常友好  例如處理事件 A,等待一個(gè)響應(yīng)或者一個(gè)錯(cuò)誤;處理事件B,等待一個(gè)響應(yīng),出錯(cuò)很明顯知道做什么遇到什么。但是在 Node 中,這就變得更加困難,因?yàn)楸仨毺D(zhuǎn)到另一個(gè)函數(shù)調(diào)用多回調(diào)操作,雖然node社區(qū)的發(fā)展對(duì)這種方式的處理做的很好的解決方案,但本質(zhì)是和Go有區(qū)別的)

以上是“nodejs什么時(shí)候發(fā)布的”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI