利用JavaScript開發事件驅動的Web應用 – node.js簡介

來源:互聯網
上載者:User

今天混跡於技術社區時,真正接觸到了傳說中的伺服器端Javascript。在伺服器端使用Javascript可以彌合伺服器端語言和用戶端指令碼語言的鴻溝,使得他們能夠更好的協作。用戶端甚至可以直接複用伺服器端的一些組件,這樣就可以簡化很多在用戶端、伺服器端重複進行的工作,例如表單驗證。由於不存在了語言的差異,伺服器端和用戶端通訊將變得更加簡潔。我研究了一下javascript for server的一個典型項目,node.js。這是一個事件驅動模式的javascript伺服器容器。它採用了GoogleChrome瀏覽器的高效js引擎V8,伺服器請求處理模式則使用了和高效HTTP伺服器NGINX一樣的event
loop。根據一些測試顯示,一個Hello World程式在一台擁有4核的CPU上,以4進程方式運行,可以承受2.4萬並發串連請求,這對於絕大多數伺服器端指令碼語言來說是一個可望而不可即的數字。另外由於node.js的事件驅動程式模型,對很多需要耗費大量資源維護長串連請求的應用(比如聊天室、SNS、微博、WebIM等等)來講,更是福音。它不僅降低了伺服器端資源開銷,也使得應用更具即時性。

  Javascript運行在伺服器端已經有了很長的曆史,早在微軟推行的ASP統治年代,JavaScript就被允許當作ASP的指令碼語言來使用。但由於功能太弱,以及效率上的問題,JavaScript作為伺服器端指令碼語言並沒有得到廣泛的運用。隨著Web技術的日漸發展,一些大型的Web用戶端應用不斷湧現。從最初的富用戶端應用依賴於Flash,到後來在Google的帶動下,利用Javascript指令碼編寫的富用戶端應用大行其道,這也推動了瀏覽器技術的蓬勃發展。短短几年,瀏覽器端Javascript的運行效率竟然提高了數十倍。面對這種形式,用Javascript來統一Web開發前後端,似乎也是大勢所趨了。

  在這種背景之下,經過開源社區無數人的努力,node.js誕生了。

  本打算親自寫一篇入門文章,通過各種方式竟然找到了很多優秀的內容,為了避免麻煩,不再複製粘貼至此,請各位童鞋移步觀看:

  以下是node.js的官方資源,node.js引擎可以在此處下載:
http://nodejs.org/

  其官方還提供了一共Demo應用,是一個聊天室。經常有中國人出沒,聊天記錄裡面大片的中文[emot]hamarneh[/emot]
http://chat.nodejs.org/

  這是一個為node.js構建的MVC架構,有興趣的童鞋可以去看一下:
https://github.com/visionmedia/express

  《學習伺服器端的JavaScript_Node.js》這是一篇優秀的node.js入門文章
http://www.grati.org/?p=181

  這是由Node.JS中文社區提供的一篇關於node.js入門構建的文章
http://cnodejs.org/blog/?p=342

  一個介紹入門的投影片
http://www.slideshare.net/lijing00333/node-js

  為了提供伺服器端javascript的統一介面規範,開發人員社區制定了類似標準庫的Javascript標準抽象規範,詳情請看
http://www.oschina.net/p/commonjs?from=rss

  當然,對於一種剛剛興起不久的技術,還需要相當長的發展才能被廣泛地應用。目前,node.js主要面臨的問題是缺乏成熟的架構、模組。當然,這些都需要更多的開發人員投身於node.js。相信不久,node.js一定能夠成為一門流行的Web開發語言。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.