Node.js – Chat server with websocket+node.js vs a native client with xmpp

chatnode.jsopenfirexmpp

I couldn't find any reasonable benchmarks regarding comparison between a chat client that runs with using node.js chat server V.S. a client that works with xmpp.

I know node.js is async and as far as I know so does xmpp . However, my main concern is performance with same amount of concurrent users.

I would need this information to write an android app. Would like to know your opinions and advantages/disadvantages using both systems.

Thanks in advance.

Best Solution

While I understand what you're asking, you're attempting to compare a server-side Javascript implementation (Node.js) with a messaging protocol (XMPP).

There are many off-the-shelf XMPP servers, and lots of client libraries, already written. Since these are the concrete things you'll be working with you should be evaluating these if you are considering using XMPP, and then comparing it to other solutions to your problem.

If you implement something yourself on top of Node and websockets then you need to handle all the things that XMPP already provides, such as authentication, encryption, the application protocol, etc. as well as all the server-side routing logic. Many XMPP servers also support clustering - transparently running multiple servers behind a single domain.

Ultimately the choice is yours, as you know the most about your particular application. You should compare solutions not only on their single-node performance but also development time and scalability among other factors.

Related Question