node.jsfrontendbackendwindows-live-messenger

What language to use for developing the front-end part of a messenger?


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.


Solution

  • 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.