自从了解Node.js以来,我一直是它的粉丝。但是今天,我发现了SignalR,它为ASP.NET提供了另一种异步的-可伸缩的实时模型。
据我所知,与SignalR相比,Node.js的主要优势是在客户端-服务器之间共享代码(另一个优势应该是跨平台),而SignalR的主要优势是更成熟的框架和更好的框架工具(IDE)支持。所以我想知道:如果SignalR在这里,我们是否需要Windows上的Node.js?我不知道Node.js有什么优势吗?
自从了解Node.js以来,我一直是它的粉丝。但是今天,我发现了SignalR,它为ASP.NET提供了另一种异步的-可伸缩的实时模型。
据我所知,与SignalR相比,Node.js的主要优势是在客户端-服务器之间共享代码(另一个优势应该是跨平台),而SignalR的主要优势是更成熟的框架和更好的框架工具(IDE)支持。所以我想知道:如果SignalR在这里,我们是否需要Windows上的Node.js?我不知道Node.js有什么优势吗?
Answers:
SignalR是Socket.IO和Node.js的可行替代方案。但是,还有其他原因需要在服务器上使用javascript。
它使堆栈变平。如今,几乎所有网站都必须在浏览器上安装javascript,并且如果在服务器上也使用javascript,则可以从一种必须精通的语言中减少一种语言。
消息传递是很自然的。JSON无处不在!尤其是与使用JSON的文档数据库结合使用时,所有传递的消息都变成了JSON对象。这样可以减少整个系统中必须进行的消息代理数量。
不是微软。我个人喜欢Microsoft为开发社区所做的工作。它们是出色的工具,也是周围最好的框架和语言之一。话虽如此,有些人只是喜欢恨微软。
成本。有很多好的方法可以免费或非常便宜地获得Microsoft工具(Express Edition和Biz Spark)。使用Microsoft工具仍然存在较高的成本。我相信,在大多数情况下,这笔费用值得提高生产率,但并非所有人都同意。
除了上述内容外,还有一个故事说,由于线程模型的原因,您无法在IIS上扩展长时间的轮询请求。这有些道理,但是通过良好的代码设计和一些服务器调整,您基本上可以解决这些问题。