Comment Re:Dear God, why? (Score 1) 112
Exactly so.
There's a much better alternative - Vaadin. It allows pure server-side Java development of Ajax web applications much the same way as you would develop desktop applications with Swing, etc. Vaadin renders the server-side UI in the browser with widgets and a JavaScript rendering engine. However, you can also develop client-code in Java. The Java code is compiled to JavaScript with the GWT Compiler, which is also included in Vaadin. In Vaadin 7, the Java objects are serialized transparently between the server-side and client-side, so you can essentially work with the same objects on both sides.
So, there is no real reason for node.js, unless you're really good at JavaScript and want to work with it instead of Java, or you have some JS code that you need to run on both sides. If you have already made a client-side JS library, you can integrate it with Vaadin quite easily.