2012-09-07 39 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思维异步)很好。 –