0

I'm trying to develop a program like Windows Live Messenger for fun and personal use, using Node.js for the backend part of the messenger, and I've come up with two questions:

  1. Is Node.js a good choice for backend?
  2. Which language(s) should I use for the frontend part?

Thank you very much.

Axel
  • 3
  • 2

2 Answers2

1

The backend language doesn't matter at all. Python, node.js, ruby, perl, c#, java, scala, golang, as long as you expose an interface that can be consumed by the client. (generally a RESTful web service interface, but it doesn't have to be.)

The frontend language depends on the target platform. You should use the native language for the client platform for the most streamlined development experience. C# for windows, Java for android, Swift for ios, javascript for web. If you want to "write once run anywhere" consider React Native.

But be aware that any "write once run anywhere" strategy is going to be plagued by hard-to-debug cross-platform bugs, in practice it's almost always cheaper to maintain a client for each platform, because it's easier to debug in the native language.

Eric Hartford
  • 16,464
  • 4
  • 33
  • 50
  • Thank you for your quick answer, I'll use C# to develop the frontend part of it, and Node.js for the backend. – Axel Jun 21 '16 at 22:52
  • C# is good language to learn, however, in my opinion, if you use ASP in C#, this is not good choice for front-end, it's can help you a lot but it also general some attribute unnecessary. – Huy Nguyen Jun 22 '16 at 02:16
  • What would you suggest for front-end windows? – Axel Jun 22 '16 at 02:20
0

Another alternative is Ruby. With http://reactrb.org and rails you easily put together such a system. In fact the tutorial on the above site ( under docs/tutorial) is a simple chat app

Mitch VanDuyn
  • 2,838
  • 1
  • 22
  • 29