Na verdade eu aconselho o que você mais conhece. Assim você gasta menos tempo tentando aprender/entender.
Eu trabalho com VRaptor tem 2 anos e meio… Já trabalhei com projetos SqlServer e agora trabalho com projetos MySql e Oracle…
Muitos estão em produção.
Eu não gosto do JSF por mais que o desenvolvimento seja mais rápido, a aplicação é mais pesada.
O motivo de eu ter escolhido VRaptor é por que ele é exatamente o contrário do JSF. Mas o desenvolvimento não é tão lento quanto o Struts/Spring. O motivo são os XML de configurações.
Vou te dizer que não é simples programar para a Web, mesmo os mais básicos CRUDs tem seus problemas…
É uma lista quase interminável de patterns…
Se a sua intenção é usar a aplicação para aprender uma tecnologia nova, faça isso, mas saiba que vai ter muitos problemas nessa aplicação e a usabilidade vai ser comprometida.
Se a sua intenção é fazer uma aplicação para render, use a tecnologia que você conhece e extraia o máximo dela.
Por último, mas não menos importante, o Node.Js fica no server e não expõe o código… As pessoas têm muito medo de serem roubadas e nunca saem do mesmo lugar. Acho que o dia em que você parar de se preocupar com isso e começar a dividir os seus projetos, você vai ver eles caminhando.
Eu já passei por isso e te digo que não me preocupo se roubarem o meu código. Existem muitas outras coisas que são mais importantes, como: disponibilizar a aplicação, fazer ela popular, evoluir a aplicação. Coisas que não tem como roubar…