天天看點

走進Node.js

    自2009年Node.js誕生以來,其發展速度如此之快。

    嚴格的說,Node.js是一個用于開發各種Web伺服器的開發工具。

    Node.js為什麼發展的這麼快,迅速成長起來的呢,首先,我們看一下現在的伺服器端語言中存在的問題,在Java、PHP、ASP.NET等伺服器端語言中,為每一個用戶端建立一個新的線程,每個線程需要耗費大約2MB的記憶體,就是說,理論上,8GB記憶體的伺服器可以同時連接配接的最大使用者數為4000個左右。要讓Web應用程式支援更多的使用者,就要增加伺服器,這樣一來,硬體成本就增加了,而Node.js解決了這個問題,它并不是為每個使用者請求建立一個新的線程,而是為每個使用者請求觸發一個在Node.js内部進行的處理事件。也就是說,使用Node.js可以同時處理多達幾萬個使用者的用戶端連接配接。

    在Node.js伺服器中運作的是高性能的V8 JavaScript腳本語言。V8 JavaScript是由Gooole公司使用C++語言開發的一種高性能Javascript引擎,該引擎并不局限在浏覽器中運作,Node.js将其用在了伺服器中,V8 JavaScript引擎内部使用一種全新的編譯技術。這意味着,開發者編寫的高端的JavaScript腳本代碼與開發者編寫的C語言具有肺中近似的執行效率。聽起來是不是很高大上啊!

    Node.js中采用了非阻塞式I/O和事件循環,這是為了實作高性能而做的改進。

    當應用程式需要處理大量并發的輸入輸出,而在向用戶端發出響應之前,應用程式内部不需要進行非常更複雜的處理的時候,可以用Node.js來進行應用程式的開發。例如:聊天類伺服器和電子商務網站或綜合服務類網站的伺服器。

    Node.js内置了很多子產品,同時也可以引入第三方子產品。

    說了這麼多,是時候動手了,首先要安裝Node.js,這就不說了,到官網下載下傳安裝即可。

    舉個小例子,讓我們看一看這高大上的Node.js程式。

    建立檔案,Node.js,寫下如下代碼:

    var http = require('http');    //引入http子產品

        http.createServer(function(req, res) { 

//用http子產品的createServer方法建立用于接收用戶端請求并響應的HTTP伺服器應用程式。

        res.writeHead(200, {'Content-Type': 'text/html'});

        res.write('<h1>Node.js</h1>'); 

        res.end('<p>Hello World</p>'); 

     }).listen(3000);

繼續閱讀