Node.js
Node.js 就是運(yùn)行在服務(wù)端的 JavaScript。
Node.js 是一個(gè)基于Chrome JavaScript 運(yùn)行時(shí)建立的一個(gè)平臺(tái)。
Node.js是一個(gè)事件驅(qū)動(dòng)I/O服務(wù)端JavaScript環(huán)境,基于Google的V8引擎,V8引擎執(zhí)行Javascript的速度非???,性能非常好。
Node采用一系列“非阻塞”庫(kù)來(lái)支持事件循環(huán)的方式。本質(zhì)上就是為文件系統(tǒng)、數(shù)據(jù)庫(kù)之類的資源提供接口。向文件系統(tǒng)發(fā)送一個(gè)請(qǐng)求時(shí),無(wú)需等待硬盤(尋址并檢索文件),硬盤準(zhǔn)備好的時(shí)候非阻塞接口會(huì)通知Node。該模型以可擴(kuò)展的方式簡(jiǎn)化了對(duì)慢資源的訪問(wèn), 直觀,易懂。尤其是對(duì)于熟悉onmouseover、onclick等DOM事件的用戶,更有一種似曾相識(shí)的感覺(jué)。
雖然讓Javascript運(yùn)行于服務(wù)器端不是Node的獨(dú)特之處,但卻是其一強(qiáng)大功能。不得不承認(rèn),瀏覽器環(huán)境限制了我們選擇編程語(yǔ)言的自由。任何服務(wù)器與日益復(fù)雜的瀏覽器客戶端應(yīng)用程序間共享代碼的愿望只能通過(guò)Javascript來(lái)實(shí)現(xiàn)。雖然還存在其他一些支持Javascript在服務(wù)器端 運(yùn)行的平臺(tái),但因?yàn)樯鲜鎏匦?,Node發(fā)展迅猛,成為事實(shí)上的平臺(tái)。
在Node啟動(dòng)的很短時(shí)間內(nèi),社區(qū)就已經(jīng)貢獻(xiàn)了大量的擴(kuò)展庫(kù)(模塊)。其中很多是連接數(shù)據(jù)庫(kù)或是其他軟件的驅(qū)動(dòng),但還有很多是憑他們的實(shí)力制作出來(lái)的非常有用的軟件。
最后,不得不提到的是Node社區(qū)。雖然Node項(xiàng)目還非常年輕,但很少看到對(duì)一個(gè)項(xiàng)目如此狂熱的社區(qū)。不管是新手,還是專家,大家都圍繞著項(xiàng)目,使用并貢獻(xiàn)自己的能力,致力于打造一個(gè)探索、支持、分享、聽(tīng)取建議的樂(lè)土。