Desde que conheço o Node.js, sempre fui fã dele. Mas hoje eu descobri sobre SignalR , que fornece um modelo alternativo assíncrono - escalonável - em tempo real para ASP.NET.
Pelo que eu sei, a principal vantagem do Node.js sobre o SignalR é compartilhar código entre cliente-servidor (outra vantagem deve ser que ele é multiplataforma), e a principal vantagem do SignalR é uma estrutura muito mais madura e muito melhor suporte de ferramenta (IDE). Então eu me pergunto: se SignalR estiver aqui, precisamos mais do Node.js no Windows? Há alguma vantagem do Node.js que eu não conheço?
asp.net
node.js
asynchronous
signalr
Quan Mai
fonte
fonte
Respostas:
SignalR é uma alternativa viável para Socket.IO e Node.js. No entanto, existem outras razões para usar javascript no servidor.
Isso nivela a pilha. Quase qualquer site hoje em dia precisa ter javascript no navegador e, se você usá-lo no servidor também, pode cortar um idioma do lote no qual terá que ser proficiente.
A passagem de mensagens é muito natural. JSON em todos os lugares! Combinado especialmente com um banco de dados de documentos que usa JSON, toda a passagem de mensagens se torna apenas objetos JSON. Isso reduz a quantidade de corretagem de mensagens que precisa acontecer em todo o sistema.
Não é a Microsoft. Pessoalmente, adoro o que a Microsoft fez pela comunidade de desenvolvimento. Eles são ferramentas fantásticas e um dos melhores frameworks e linguagens existentes. Dito isso, algumas pessoas simplesmente adoram odiar a Microsoft.
Custo. Existem muitas maneiras boas de obter ferramentas da Microsoft gratuitamente ou muito baratas (edições Express e Biz Spark). Ainda há um custo mais alto associado ao trabalho com ferramentas Microsoft. Acredito que esse custo compensa os ganhos de produtividade na maioria dos casos, mas nem todos concordam.
Além do que foi dito acima, ainda existe a história de que você não pode dimensionar solicitações de sondagem longas no IIS devido ao modelo de threading. Isso tem alguma verdade, mas com um bom design de código e alguns ajustes de servidor, você pode contornar esses problemas.
fonte