"It is used for front-end app"
Well, this is horribly wrong.
"Node.js is primarily used to build network programs such as web servers, making it similar to PHP. The biggest difference between PHP and Node.js is that PHP is a blocking language, where commands execute only after the previous command has completed, while Node.js is a non-blocking language where commands execute in parallel, and use callbacks to signal completion."
https://en.wikipedia.org/wiki/Node.js[
^]
node.js is a non-blocking, single threaded (event loop), low level I/O JS(V8) interpreter. The advantage of node.js is that it is based on libuv, which is written in ANSI C and therefore can be compiled on nearly any platform without the need of a VM-Layer unlike Java (Bytecode) and .Net (IL) it compiles to native code and runs much faster, is more memory and cpu efficient (it has in general smaller footprint).
So, if you write a
micro service(buzzword alert!) go with node.
The only good reason to use java is, that it is better supported and wider spread, for now. And, there is much more mature java software out there you can rely on - especially for money. So in terms of development speed, Java and .Net are still a good choice if you don't pay the bill for the development stack nor the infrastructure.
For me it is more a decision between development speed (especially for you) and operating costs.
One more nice thing to mention: Node.js has the benefit of using the same language server and client side, ideally this is called isomorphic JS - look it up on Google. While JAVA or .Net are dispensable, at least client side, JS is needed anyway. And, don't forget, it is chosen to be the way to go by various companies (including Microsoft). Currently many companies are heavily investing on node.js like IBM who recently bought Strongloop, or ebay, airbnb, linkedin, wallmart, who are shifting their platforms to node.
But be warned: Node.js, better to say server side js, is nothing like what you might know from ordinary web development.
regards, me.