Hola @andreale17,
Gracias por postear tu pregunta 
En mi opinión, todo depende. Yo diría que no existe un stack perfecto para todos los caso, cada proyecto es distinto y cada equipo es distinto.
A la hora de tomar este tipo de decisiones hay que tener en cuenta, entre otras cosas:
- La naturaleza del proyecto. Qué tipo de features necesitas, complejidad y/o tamaño de la aplicación,…
- La experiencia y la curiosidad del equipo
- El público objetivo
- Limitaciones de tiempo
- …
Por ejemplo, si tienes que hacer un proyecto chiquito, un microsite estático con muy poca interacción, no tendría mucho sentido un stack súper complejo con un montón de herramientas y dependencias, sino ir por algo Vanilla y mantener la complejidad al mínimo, y desplegando a algo tipo gh-pages
.
Por otro lado, si estás construyendo una aplicación mediana o grande, con muchas vistas, interacción, … entonces probablemente tenga sentido elegir un framework para el front-end, y tendrás que considerar opciones para un back-end y una o más bases de datos.
El equipo también es clave para estas decisiones. Si tienes un equipo con experiencia en JavaScript, y necesitas avanzar rápido, no tendría mucho sentido decidir implementar un backend en Ruby, Python o PHP.
Cómo ves hay muchas variables en juego… ahora sí, mi opinión personal, a finales de 2018 y viniendo del entorno de JavaScript, yo recomendaría considerar las siguientes herramientas/tecnologías:
Cliente
Servidor
Bases de datos
Espero que sirva de ayuda 
cc/ @Coaches, @DevsChapter, qué recomendarían ustedes?