Desde que supe de Node.js, siempre he sido fan de él. Pero hoy encontré SignalR , que proporciona un modelo alternativo asincrónico, escalable, en tiempo real para ASP.NET.
Hasta donde yo sé, la principal ventaja de Node.js sobre SignalR es compartir código entre cliente-servidor (otra ventaja debería ser que es multiplataforma), y la principal ventaja de SignalR es un marco mucho más maduro y mucho mejor soporte de herramientas (IDE). Entonces me pregunto: si SignalR está aquí, ¿ya necesitamos Node.js en Windows? ¿Hay alguna ventaja de Node.js que no conozca?
asp.net
node.js
asynchronous
signalr
Quan Mai
fuente
fuente
Respuestas:
SignalR es una alternativa viable a Socket.IO y Node.js. Sin embargo, existen otras razones para usar javascript en el servidor.
Aplana la pila. Casi cualquier sitio web en estos días debe tener javascript en el navegador, y si lo usa también en el servidor, puede eliminar un idioma del lote en el que tendrá que dominar.
El paso de mensajes es muy natural. JSON en todas partes! Especialmente combinado con una base de datos de documentos que usa JSON, todos los mensajes que pasan simplemente se convierten en objetos JSON. Esto hace que se reduzca la cantidad de intermediación de mensajes que debe ocurrir en todo el sistema.
No es Microsoft. Personalmente, me encanta lo que Microsoft ha hecho por la comunidad de desarrolladores. Hacen herramientas fantásticas y uno de los mejores marcos y lenguajes que existen. Dicho esto, a algunas personas les encanta odiar a Microsoft.
Costo. Hay muchas buenas formas de obtener herramientas de Microsoft de forma gratuita o muy barata (ediciones Express y Biz Spark). Todavía existe un costo más alto asociado con trabajar con herramientas de Microsoft. Creo que este costo compensa las ganancias de productividad en la mayoría de los casos, pero no todos están de acuerdo.
Además de lo anterior, todavía existe la historia de que no se pueden escalar solicitudes de sondeo largas en IIS debido al modelo de subprocesos. Esto tiene algo de verdad, pero con un buen diseño de código y algunos ajustes del servidor, la mayoría de las veces puede solucionar estos problemas.
fuente