CNode社群:Node.js技術及生態(圖靈訪談)

暘谷發表於2011-12-17

圖靈訪談之九:專訪CNode社群

Node.js在各種技術會議上的分享越來越火熱,為了讓更多的人瞭解Node.js以及Node.js中文技術社群CNode,12月10日在易寶支付舉行第三期Node.js北京分享會——NodeParty北京站活動上,圖靈社群對CNode.js社群的發起人和核心組成員趙昆(空無)、廖愷(清篤)、袁鋒(蘇千)、賈超(玄澄)等進行了採訪。

圖靈社群:簡單介紹一下Node.js中文社群CNode以及社群的發起人?

CNode社群: CNode社群最初於2010年10月左右,由淘寶的廖凱和趙昆發起,並註冊了cnodejs.org域名,由於備案問題,導致網站直到年底才正式上線。2011年,賈超、袁鋒、朱彤、田永強、黃冠先後加入了社群核心組,社群的活躍成員也已經上千,在這一年裡,CNode社群一直在高速發展。

圖靈社群:怎麼會想起做這樣一個專業的技術社群,社群有什麼發展目標?

CNode社群:大家非常看好Node.js這個技術,同時在淘寶內部的一些產品中開始採用Node.js,但是Node.js當時在國內技術氛圍非常淡,對Node.js感興趣的人寥寥無幾,因此我們決定發起一個社群,讓更多的人蔘與Node.js的技術研究中,提升國內在這方面的技術水平。

CNode社群目前已經是國內最大的Node社群,我們希望她能成為中國所有開源技術社群中發展最好的一個,同時期望我們的社群也能夠對Node的官方社群產生積極的影響,甚至直接推動Node.js這個技術的進展。

圖靈社群:社群裡的核心成員是怎麼走到一起來的,目前是怎麼合作和分工的呢?

CNode社群:基本出於興趣走到一起,目前主要通過一些線下活動和線下交流來合作。大家平常主要負責在各個地方組織線下活動,然後會互相提供支援。目前還沒有特別明確的分工,基本上是各自能多做一點就是一點,有什麼需要做,就會有人頂上來。

圖靈社群:社群目前在做什麼樣的事情,主要有哪些內容和活動呢?

CNode社群:目前在做的事情還是很多的,包括密集的組織今年12月的4場線下交流,包括北京、杭州、上海、深圳,還有開發者大賽的後續活動,開發新的線上互動社群,還有與圖靈合作,技術社群聯合寫一本《Node.js和Web開發》的Node入門書等。

圖靈社群:CNode是國內最專業的Node.js開源技術社群,它和國外的Node社群(Joynet、nodejitsu)是怎樣的關係?對Node.js的原始碼有哪些貢獻?

CNode社群: CNode社群目前是Node社群承認的中文社群,Joyent公司也派人參加和贊助社群的活動。目前社群對Node.js的很多開源模組都有一些貢獻,暫時還沒有參與到Node核心程式碼的開發中,這是我們努力的一個方向。

圖靈社群:於前端和後端的開發者,Node.js帶來了怎樣的改變?

CNode社群:對於前端開發者,有了一個非常好的機會切入後端開發或者嘗試後端開發,而無需重新學習一門新的語言和語法。前端開發者學習一些基本的伺服器端知識,無需依賴額外的資源,就可以靠自己快速開發出一個功能完整的原型,這是以前無法想象的。

對於後端開發者,Node.js提供一種全新的開發思路和效能更好的動態語言。正好之前國外有一篇文章Node.js Cures Cancer質疑Node.js的效能(這篇文章內容對Node.js理解有誤),它給出的效能測試被許多人使用來對比測試各個動態語言的執行效能。在@hileon的測試結果可以看到,Node.js的效能遠超PHP、Python、Ruby。

作為追求效能的後端開發者,在動態語言選擇中,Node.js是非常有效能優勢的。前後端程式碼複用不再是幻想。例如,表單輸入有效性判斷的業務邏輯程式碼可以很有地複用。更重要的是讓前後端開發者的思維相互交叉滲透,會萌發出更多創新火花。

圖靈社群:社群目前有什麼共同在做的具體專案嗎?簡單介紹一下NAE?

CNode社群:目前社群還處在成長階段,等社群的參加者有一定規模後會考慮發起一些公共專案,以促進交流和社群發展。NAE是為了方便對Node感興趣的朋友快速入手進行Node開發而提供的一個App Engine系統,提供了應用託管、應用模版、儲存服務(Mongo DB & GUI)、基於web的線上程式碼編輯、版本控制(Git GUI)、包管理(直接在應用中引入NPM包)、命令列應用管理工具等一系列功能,與現有的一些hosting和app engine相比,在技術上有一定的特色,同時也更專注於開發社群和線上開發模式。

圖靈社群:圖靈曾有來客討論過社群的發展,他的觀點是比賽是社群培養人才最好的形式,看來Node.js中文社群也有同樣的想法。本週剛剛結束了"中國首屆Node.js開發者大賽",能不能介紹一下這次大賽的情況?通過這次大賽,社群有哪些收穫、感受和經驗要與大家分享?

CNode社群:為了推動Node.js在國內的使用和CNode社群的發展,我們組織了這次大賽,希望通過本次大賽,聚集更多Node.js粉絲和發燒友,挖掘特色應用和服務,進而激勵更多的技術人員參與到Node.js的發展和推動過程中來。

本次大賽共提交上來參賽專案29個,最後評選出2個一等獎,4個二等獎,4個三等獎。參賽作品充分體現了國內Node.js領域的開發能力和水平。

圖靈社群:從大賽的結果看,Node.js在國內目前處於什麼階段?實際應用處於什麼層次?目前國內有哪些實際應用的案例嗎?

CNode社群:目前Node.js主要還是應用在一些中小型的Web專案,以及特定的開發平臺中,更多的還是一些應用邏輯層面的開發,對於Node.js自身效能和功能的挖掘還停留在一個比較淺的層次上。

目前國內大中型的系統中實際應用Node.js作為線上業務系統還不多見。淘寶內目前有一些大中型專案已經線上執行,如NodeFox(分散式Mysql查詢與管理服務)、Itier(異構資料來源的中間層資料服務)、淘寶指數

圖靈社群:技術社群另外應該承擔推廣Node.js的工作對吧。目前有些推廣的活動和手段?

線上主要通過以下方式:CNode社群的BlogGoogle Group及官方QQ群(189927730)進行日常的社群推廣。

線下會經常性地在全國範圍內組織Node Party,以供國內的Node.js愛好者進行技術交流。截止目前累計在北京、上海、杭州、廣州、香港等城市舉辦了10次Node Party,共計參加人次600人。

未來將會在深圳、成都、武漢等城市舉辦Node Pary,非常歡迎當地城市的Node.js發燒友聯絡我們協助主辦。

同時在一些比較有影響力的技術會議(如QCon、Velocity)中也會有社群成員進行的Node.js相關內容的主題分享。

圖靈社群:從各種社群活動和技術會議分享來看,Node.js關注度越來越高了,那麼到底哪些人需要了解和學習Node.js?

CNode社群:如果你是前端開發人員,而且你對如何建立一個Web應用感興趣,那麼推薦你學習Node.js;如果你是後端開發人員,想進一步提高自己對後端開發的瞭解,或者苦於系統的併發效能難以提高,那麼也推薦你學習Node.js;如果你是狂熱的極客,Node.js更是你不能錯過的技術平臺。

圖靈社群:怎樣評估應用是適合採用Node.js的?Node.js的應用場景?

CNode社群:由於Node天生的非同步非阻塞,單執行緒特色,對於大量的io依賴性應用,如中間層、應用伺服器、代理服務等是非常適合的場景。由於Node.js技術社群很給力,提供了大量的功能模組,對於快速開發中小型的Web專案很合適。

圖靈社群:幾位已經用Node.js實際做過開發專案,如果一個團隊要開始使用Node.js,幾位會提醒他們留意哪些陷阱?有哪些"最佳實踐"可以分享?

1.注意思維方式的轉換,不要用序列系統的思路進行Node.js系統的設計。
2.注意ECMA Script 5的新特性對於程式碼和程式執行效率的影響。
3.單執行緒模式中的資源共享給系統設計帶來變化。
4.非同步模式下的異常處理。

更多可以關注 https://github.com/windyrobin/iFrame/blob/master/pp.md

圖靈社群:Node.js效能表現怎樣?目前的版本是穩定版本嗎?幾位覺得Node.js成為主流的時機成熟了嗎? 怎麼看它周圍的生態系統呢?

CNode社群:如第6個問題回答裡面提到的,Node.js的語言運算效能比PHP、Python、Ruby都要快。

Node.js 的“hello world”單程式QPS在8k+;如果需要了解所有歷史版本的“hello world”效能測試可以檢視:Nodejs "Hello world" benchmark

目前的穩定版本是0.6.x系列。

是否時機成熟,我想引用@孤獨的登山人 對Node.js今年的經驗總結:“Node 框架已經基本成熟了,實際開發也已經有了足夠的積累,明年肯定會大熱滴。”我們拭目以待。

微軟、雅虎、LinkedIn、eBay都在使用,並且擁有目前最火爆的開源社群,以及最頻繁更新和貢獻的第三方模組支援,這是一個高速飛奔的生態系統。

圖靈社群:社群目前有什麼新動向?對社群和Node.js技術在國內的發展有什麼重大影響?

CNode社群:社群目前正在使用Node.js開發一個全新的互動社群系統NodeClub,有點接近SNS,希望可以讓社群的技術討論的內容可以沉澱下來,未來可能會全面取代cnode社群正在用的Google Groups、QQ群、Wordpress這幾個系統,我們相信這個系統上線後將顯著提升社群的活躍度。

另外社群最重要的一個專案NAE,也在穩步進展中,目前在內測,明年年終會發布第一個穩定版本,這為Node開發者提供了一個幾乎零成本的學習和執行平臺,NAE也會和NodeClub打通,開發、協作、交流就一體化的實現了,這也是我們社群特色的地方。

圖靈社群:謝謝幾位接受圖靈社群的採訪,圖靈會一直關注並贊助社群的活動,也期待與社群合作的Node.js好書能早日問世,讓更多的Node.js的愛好者有一個好的入門學習的途徑。


更多精彩,加入圖靈訪談微信!

相關文章