2012-09-07 62 views
1

我打算開始新的聊天的Web應用程序,允許用戶加入聊天室並參與聊天。我已經聽到很多關於Node.js如何完美實現這一點的信息。另外,網上有很多教程演示構建一個Node + socket.io聊天應用程序。就我個人而言,我從未給過Node一個鏡頭。我非常熟悉JavaScript,可以與Jquery和Backbone一起工作,但由於我偏愛用於Web開發的Python,因此我一直在避免Node。你們有什麼建議?我應該在Python中嘗試應用程序嗎(我不知道從哪裏開始),還是應該花點時間學習Node?Python或節點爲聊天應用

非常感謝!

回答

1

我個人不編寫Python的大風扇,雖然我愛節點,並建議給它一個開槍的某個時候,如果你已經知道Python中沒有任何理由,你不能用它完成這個任務;您可能有興趣查看TwistedTornado

我會說,對於如何使用Node.js的事件觸發編程(相對於其他語言做)大加分的一個是,所有的I/O是異步默認情況下,Node.js的在其他環境中,您需要確保只使用非阻塞庫。

+0

扭曲是專爲這類東西,有很多現有的功能,你只希望定製。我認爲龍捲風/ gevent /等需要更多的工作才能發生。 如果你正在尋找最佳性能,我想使用Erlang。 –

0

Node.js的是像應用聊天優選的框架,因爲它是非常好,操控條件,是密集的,而不是必然的CPU更多的數據。就我個人而言,我是node.js的忠實粉絲。但我要在這裏時間告訴大家的是,

node.js的處理異步事件的語法變成一種痛苦,一旦您的項目出自於一個簡單的例子到一個完全成熟的應用程序。我的意思是你會做多久。

response.onComplete(function(data) { 
    data.parseJson(function(json) { 
     json.getElement('hoo', function(value) { 
      value.HowDoIEscapeNow() 
      ..... 

我並不是要對node.js說什麼,但是一旦進入複雜性,我不會說它是一個完全不同的野獸。

+1

值得注意的是,一個好的[異步流控制庫](https://github.com/caolan/async)可以幫助你[抽象掉一些這樣的痛點](http://nodecasts.net/episodes/ 5思維異步)很好。 –