Nodejs与SignalR:为什么我们需要服务器端的JavaScript?

时间:2012-01-30 07:28:55

标签: asp.net node.js asynchronous signalr

由于我已经了解Node.js,我一直都是它的粉丝。但今天我发现了SignalR,它为ASP.NET提供了另一种异步 - 可扩展 - 实时模型。

据我所知,Node.js优于SignalR的主要优点是在客户端 - 服务器之间共享代码(另一个优势应该是它是跨平台的),而SignalR的主要优势是更加成熟的框架和更好的工具(IDE)支持。所以我想知道:如果SignalR在这里,我们是否还需要Windows上的Node.js?我不知道Node.js有什么优点吗?

1 个答案:

答案 0 :(得分:103)

SignalR是Socket.IO和Node.js的可行替代方案。但是,在服务器上使用javascript还有其他原因。

  1. 它使堆栈变平。现在几乎所有网站都必须在浏览器上使用javascript,如果你在服务器上也使用它,你可以从批量中删除一种你必须精通的语言。

  2. 消息传递非常自然。 JSON无处不在!特别是与使用JSON的文档数据库相结合,所有消息传递只是成为JSON对象。这样可以减少整个系统中必须发生的消息代理量。

  3. 这不是微软。我个人喜欢微软为开发社区所做的事情。他们制作出色的工具,是最好的框架和语言之一。话虽如此,有些人只是喜欢讨厌微软。

  4. 成本。有许多好方法可以免费或非常便宜地获得Microsoft工具(Express版本和Biz Spark)。使用Microsoft工具的成本仍然较高。我相信这个成本在大多数情况下都值得提高生产力,但不是每个人都同意。

  5. 除了上述内容之外,由于线程模型的原因,您仍然无法在IIS上扩展长轮询请求。这有一些道理,但是good code design和一些服务器调整,你可以解决这些问题。