94

自从我知道 Node.js 以来,我一直是它的粉丝。但是今天我发现了SignalR,它为 ASP.NET 提供了另一种异步可扩展实时模型。

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

4

1 回答 1

113

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

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

  2. 消息传递非常自然。JSON 无处不在!尤其是结合使用 JSON 的文档数据库,所有的消息传递都变成了 JSON 对象。这减少了必须在整个系统中发生的消息代理的数量。

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

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

除了上述之外,还有一个故事是,由于线程模型,您无法在 IIS 上扩展长轮询请求。这有一定道理,但是通过良好的代码设计和一些服务器调整,您基本上可以解决这些问题。

于 2012-01-30T09:16:39.090 回答