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

由于我已经了解了Node.js,所以我一直都很喜欢它。 但是今天我发现了SignalR ,它为ASP.NET提供了另一种asynchronous可伸缩的实时模型。

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

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

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

  2. 消息传递是非常自然的。 JSON无处不在! 尤其是与使用JSON的文档数据库相结合,所有消息传递只是成为JSON对象。 这使得减less整个系统中必须发生的消息中介数量。

  3. 这不是微软。 我个人喜欢微软为开发社区所做的一切。 他们制作了很棒的工具,也是最好的框架和语言之一。 这就是说,有些人只是爱恨微软。

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

除了上述内容之外,还有一个故事,由于线程模型的原因,您无法在IIS上扩展长轮询请求。 这有一些事实,但有了良好的代码devise和一些服务器的调整,你可以主要解决这些问题。