web-dev-qa-db-fra.com

Nodejs vs SignalR: pourquoi avons-nous besoin de Javascript côté serveur?

Depuis que je connais Node.js, j'en ai toujours été fan. Mais aujourd'hui, j'ai trouvé environ SignalR , qui fournit un modèle alternatif asynchrone - évolutif - en temps réel pour ASP.NET.

Pour autant que je sache, le principal avantage de Node.js sur SignalR est le partage de code entre client-serveur (un autre avantage devrait être qu'il est multiplateforme), et le principal avantage de SignalR est un cadre beaucoup plus mature et bien meilleur prise en charge de l'outil (IDE). Je me demande donc: si SignalR est ici, avons-nous encore besoin de Node.js sur Windows? Y a-t-il des avantages de Node.js que je ne connais pas?

88
Vimvq1987

SignalR est une alternative viable à Socket.IO et Node.js. Il existe cependant d'autres raisons d'utiliser javascript sur le serveur.

  1. Il aplatit la pile. De nos jours, presque tous les sites Web doivent avoir du javascript sur le navigateur, et si vous l'utilisez également sur le serveur, vous pouvez couper une langue du lot dans laquelle vous devrez être compétent.

  2. La transmission de messages est très naturelle. JSON partout! Particulièrement combiné avec une base de données de documents qui utilise JSON, tout message passant devient simplement des objets JSON. Cela réduit la quantité de courtage de messages qui doit se produire dans tout le système.

  3. Ce n'est pas Microsoft. J'aime personnellement ce que Microsoft a fait pour la communauté des développeurs. Ils font des outils fantastiques et l'un des meilleurs frameworks et langages. Cela étant dit, certaines personnes adorent détester Microsoft.

  4. Coût. Il existe de nombreuses bonnes façons d'obtenir des outils Microsoft gratuitement ou à très bas prix (éditions Express et Biz Spark). Il y a toujours un coût plus élevé associé à l'utilisation des outils Microsoft. Je crois que ce coût vaut les gains de productivité dans la plupart des cas, mais tout le monde n'est pas d'accord.

En plus de ce qui précède, il y a toujours l'histoire qui circule selon laquelle vous ne pouvez pas mettre à l'échelle de longues demandes d'interrogation sur IIS en raison du modèle de threading. Cela a une certaine vérité, mais avec - bonne conception du code , et certains ajustements du serveur, vous pouvez principalement contourner ces problèmes.

104
Timothy Strimple