nodejs是用來做什么的

這篇文章主要為大家展示了“nodejs是用來做什么的”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“nodejs是用來做什么的”這篇文章吧。

創(chuàng)新互聯(lián)公司業(yè)務(wù)包括:成品網(wǎng)站、企業(yè)產(chǎn)品展示型網(wǎng)站建設(shè)、品牌網(wǎng)站建設(shè)、電子商務(wù)型網(wǎng)站建設(shè)、外貿(mào)網(wǎng)站制作(多語言)、成都商城網(wǎng)站開發(fā)、定制網(wǎng)站、全網(wǎng)營銷推廣等。效率優(yōu)先,品質(zhì)保證,用心服務(wù)是我們的核心價值觀,我們將繼續(xù)以良好的信譽(yù)為基礎(chǔ),秉承穩(wěn)固與發(fā)展、求實(shí)與創(chuàng)新的精神,為客戶提供更全面、更優(yōu)質(zhì)的互聯(lián)網(wǎng)服務(wù)!

nodejs是能夠在服務(wù)器端運(yùn)行JavaScript的開放源代碼、跨平臺運(yùn)行環(huán)境;Node.js采用Google開發(fā)的V8運(yùn)行代碼,使用事件驅(qū)動、非阻塞和異步輸入輸出模型等技術(shù)來提高性能,可優(yōu)化應(yīng)用程序的傳輸量和規(guī)模。

本文操作環(huán)境:windows7系統(tǒng)、nodejs10.16.2版,DELL G3電腦。

nodejs是做什么的?

Node.js 是能夠在服務(wù)器端運(yùn)行 JavaScript 的開放源代碼、跨平臺運(yùn)行環(huán)境。Node.js 由 OpenJS Foundation(原為 Node.js Foundation,已與 JS Foundation 合并)持有和維護(hù),亦為 Linux 基金會的項(xiàng)目。Node.js 采用 Google 開發(fā)的 V8 運(yùn)行代碼,使用事件驅(qū)動、非阻塞和異步輸入輸出模型等技術(shù)來提高性能,可優(yōu)化應(yīng)用程序的傳輸量和規(guī)模。這些技術(shù)通常用于資料密集的即時應(yīng)用程序。

Node.js 大部分基本模塊都用 JavaScript 語言編寫。在 Node.js 出現(xiàn)之前,JavaScript 通常作為客戶端程序設(shè)計(jì)語言使用,以JavaScript 寫出的程序常在用戶的瀏覽器上運(yùn)行。Node.js 的出現(xiàn)使 JavaScript 也能用于服務(wù)端編程。Node.js 含有一系列內(nèi)置模塊,使得程序可以脫離 Apache HTTP Server 或 IIS,作為獨(dú)立服務(wù)器運(yùn)行。

nodejs介紹:

Node.js是目前非?;馃岬募夹g(shù),但是它的誕生經(jīng)歷卻很奇特。

眾所周知,在Netscape設(shè)計(jì)出JavaScript后的短短幾個月,JavaScript事實(shí)上已經(jīng)是前端開發(fā)的唯一標(biāo)準(zhǔn)。

后來,微軟通過IE擊敗了Netscape后一統(tǒng)桌面,結(jié)果幾年時間,瀏覽器毫無進(jìn)步。(2001年推出的古老的IE 6到今天仍然有人在使用?。?/p>

沒有競爭就沒有發(fā)展。微軟認(rèn)為IE6瀏覽器已經(jīng)非常完善,幾乎沒有可改進(jìn)之處,然后解散了IE6開發(fā)團(tuán)隊(duì)!而Google卻認(rèn)為支持現(xiàn)代Web應(yīng)用的新一代瀏覽器才剛剛起步,尤其是瀏覽器負(fù)責(zé)運(yùn)行JavaScript的引擎性能還可提升10倍。

先是Mozilla借助已壯烈犧牲的Netscape遺產(chǎn)在2002年推出了Firefox瀏覽器,緊接著Apple于2003年在開源的KHTML瀏覽器的基礎(chǔ)上推出了WebKit內(nèi)核的Safari瀏覽器,不過僅限于Mac平臺。

隨后,Google也開始創(chuàng)建自家的瀏覽器。他們也看中了WebKit內(nèi)核,于是基于WebKit內(nèi)核推出了Chrome瀏覽器。

Chrome瀏覽器是跨Windows和Mac平臺的,并且,Google認(rèn)為要運(yùn)行現(xiàn)代Web應(yīng)用,瀏覽器必須有一個性能非常強(qiáng)勁的JavaScript引擎,于是Google自己開發(fā)了一個高性能JavaScript引擎,名字叫V8,以BSD許可證開源。

現(xiàn)代瀏覽器大戰(zhàn)讓微軟的IE瀏覽器遠(yuǎn)遠(yuǎn)地落后了,因?yàn)樗麄兘馍⒘俗钣薪?jīng)驗(yàn)、戰(zhàn)斗力最強(qiáng)的瀏覽器團(tuán)隊(duì)!回過頭再追趕卻發(fā)現(xiàn),支持HTML5的WebKit已經(jīng)成為手機(jī)端的標(biāo)準(zhǔn)了,IE瀏覽器從此與主流移動端設(shè)備絕緣。

瀏覽器大戰(zhàn)和Node有何關(guān)系?

話說有個叫Ryan Dahl的歪果仁,他的工作是用C/C++寫高性能Web服務(wù)。對于高性能,異步IO、事件驅(qū)動是基本原則,但是用C/C++寫就太痛苦了。于是這位仁兄開始設(shè)想用高級語言開發(fā)Web服務(wù)。他評估了很多種高級語言,發(fā)現(xiàn)很多語言雖然同時提供了同步IO和異步IO,但是開發(fā)人員一旦用了同步IO,他們就再也懶得寫異步IO了,所以,最終,Ryan瞄向了JavaScript。

因?yàn)镴avaScript是單線程執(zhí)行,根本不能進(jìn)行同步IO操作,所以,JavaScript的這一“缺陷”導(dǎo)致了它只能使用異步IO。

選定了開發(fā)語言,還要有運(yùn)行時引擎。這位仁兄曾考慮過自己寫一個,不過明智地放棄了,因?yàn)閂8就是開源的JavaScript引擎。讓Google投資去優(yōu)化V8,咱只負(fù)責(zé)改造一下拿來用,還不用付錢,這個買賣很劃算。

于是在2009年,Ryan正式推出了基于JavaScript語言和V8引擎的開源Web服務(wù)器項(xiàng)目,命名為Node.js。雖然名字很土,但是,Node第一次把JavaScript帶入到后端服務(wù)器開發(fā),加上世界上已經(jīng)有無數(shù)的JavaScript開發(fā)人員,所以Node一下子就火了起來。

在Node上運(yùn)行的JavaScript相比其他后端開發(fā)語言有何優(yōu)勢?

最大的優(yōu)勢是借助JavaScript天生的事件驅(qū)動機(jī)制加V8高性能引擎,使編寫高性能Web服務(wù)輕而易舉。

其次,JavaScript語言本身是完善的函數(shù)式語言,在前端開發(fā)時,開發(fā)人員往往寫得比較隨意,讓人感覺JavaScript就是個“玩具語言”。但是,在Node環(huán)境下,通過模塊化的JavaScript代碼,加上函數(shù)式編程,并且無需考慮瀏覽器兼容性問題,直接使用最新的ECMAScript 6標(biāo)準(zhǔn),可以完全滿足工程上的需求。

我還聽說過io.js,這又是什么鬼?

因?yàn)镹ode.js是開源項(xiàng)目,雖然由社區(qū)推動,但幕后一直由Joyent公司資助。由于一群開發(fā)者對Joyent公司的策略不滿,于2014年從Node.js項(xiàng)目fork出了io.js項(xiàng)目,決定單獨(dú)發(fā)展,但兩者實(shí)際上是兼容的。

然而中國有句古話,叫做“分久必合,合久必分”。分家后沒多久,Joyent公司表示要和解,于是,io.js項(xiàng)目又決定回歸Node.js。

具體做法是將來io.js將首先添加新的特性,如果大家測試用得爽,就把新特性加入Node.js。io.js是“嘗鮮版”,而Node.js是線上穩(wěn)定版,相當(dāng)于Fedora Linux和RHEL的關(guān)系。

以上是“nodejs是用來做什么的”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!

當(dāng)前題目:nodejs是用來做什么的
瀏覽路徑:http://muchs.cn/article4/ispdie.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供虛擬主機(jī)、網(wǎng)站排名、云服務(wù)器、網(wǎng)站制作、全網(wǎng)營銷推廣、網(wǎng)站改版

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)頁設(shè)計(jì)公司