🎉 Celebrating 25 Years of GameDev.net! 🎉

Not many can claim 25 years on the Internet! Join us in celebrating this milestone. Learn more about our history, and thank you for being a part of our community!

Nodejs vs signalR on making turn based game with unity client side

Started by
3 comments, last by hplus0603 5 years, 9 months ago

hi.

im searching on tools to make online turn based game. i want to know what is cons and pros of each of them and MP developers prefer which one?

 

thank you for helping

Advertisement

SignalR uses .NET and languages like C#. Also, it's mostly an API on top of ASP.NET -- it needs the rest of the Microsoft web server stack.

Node.js uses JavaScript or compatible languages like TypeScript. It's a self-contained web server, but needs a library from npm to actually support websockets.

One way of looking at it: SignalR is like the "ws" package for Node.js. Node.js is to "ws" what ASP.NET is to SignalR.

If you're a developer used to .NET and used to deploying applications on Windows, using SignalR will feel comfortable.

If you're a developer used to JavaScript and used to deploying applications on Linux, use Node.js will feel comfortable.

Both can be used to build a web app with game logic. Also, you CAN deploy Node.js on Windows if you have to. But doing that is "fighting against the stream."

enum Bool { True, False, FileNotFound };

my question was about performance, development process and....

The development process is very different, for the obvious reason that Node.js/ws is generally a Linux ecosystem thing developing in JavaScript or TypeScript and your-favorite-editor-plus-NPM, and ASP.NET/SignalR is generally a Windows ecosystem thing developing in C# and Visual Studio.

If you're most comfortable with Visual Studio and Windows SQL Server, use ASP.NET/SignalR. If you're most comfortable with vim/npm and MySQL or Postgresql, use Node.js/ws.

For performance, there is not a big difference between the systems. (Yes, you can build a benchmark to prove anything, but the order of magnitude is the same.)

enum Bool { True, False, FileNotFound };

This topic is closed to new replies.

Advertisement