前言
我是一個.net程序員,服務於一個傳統的項目管理軟件,開發BS項目管理軟件。業余時間喜歡學一些新技術,開闊自己的眼界。
這段時間就一直在看node.js,從網上搜了些教程看看了,跟着寫了百十行代碼。算是知道了個皮毛了。
也給大家推薦這個教程:http://nodebeginner.org/index-zh-cn.html,(里面講解的index + router + server + requestHandler的構架設計思想我很喜歡)
亮點:非阻塞處理請求
Node.js給我最深的印象是:可以非阻塞的處理請求,比如現在有10個串行的操作,如果執行到第2個需要很長時間,在開始執行第二個后,它會繼續向下執行第3個,而不是等到第2個完全執行完了,再去執行第三個。
我想這個亮點也是它迅速流行的主要原因。
疑惑:Node.js用來做網站嗎?
比如學django,一開始就知道它是個網站構架,學習它就是為了開發網站。
但我認為,Node.js的出世,不是為了開發整站服務的。有得文章提到,它的優勢是非阻塞的快速處理,減少服務器消耗。比如服務於twitter隊列和大型游戲統計數據(http://www.ibm.com/developerworks/cn/opensource/os-nodejs/)。
但是,現在網上只有開發網站和網頁功能的教程。
所以,剛接觸node.js我就很迷茫,我不知道怎么去用它。我不知道如何用node.js去改善我們產品的性能。
關於NPM
npm是node.js的一些插件包,其中比較出名的是express,一個開發網站的構架插件。(又是開發網站。。。)
在windows環境下,貌似不是很方便安裝npm。於是我轉到ubuntu下去安裝npm,結果安裝了三次之后,都以失敗告終。具體原因不清楚,我猜想是天朝網絡的問題。所以,我沒機會去接觸NPM的學習。
總結:我要用它
請大家真正去發展Node.js的亮點,發揮它真正的價值,而不是拿它去和別的網站開發系統做競爭。不光是Node.js,也包括別的產品技術。
這幾天學Node.js,也算是了解了一下吧,完全沒法真正實際的應用。很期待能再真正的項目中,看到Node.js的身影,而且是它在其中發揮自己的核心價值。