Si reinventara findthebest.com, ¿cuáles serían los idiomas del lado del servidor y del cliente que usará?

Gracias por A2A.

Para el lado del cliente, siempre existe este conjunto de idiomas: HTML / CSS + JavaScript.

Dado que el sitio es de gran escala y está altamente basado en datos, un marco de aplicación JS como Backbond.js y / o angular.js definitivamente aceleraría el desarrollo y facilitaría el trabajo conjunto de los desarrolladores. React.js también es muy popular ahora y ember.js ha recuperado mucha atención desde su nuevo lanzamiento. Los comprobaría en función de mis requisitos y elegiría el más adecuado.

Un motor de plantillas también haría que el desarrollo de aplicaciones basadas en datos sea mucho más eficiente. Mi favorito personal es handlebar.js, ligero, minimalista y fácil de implementar sus propias funciones de ayuda.

En cuanto al back-end, definitivamente vale la pena probar Node.js. Además de su rendimiento, también ofrece la posibilidad de una cooperación mucho más estrecha y fluida entre el front-end y el back-end, ya que ahora usan el mismo idioma. Su ecosistema con npm es vibrante, con potentes módulos de funciones que se lanzan y actualizan a diario.

Si la seguridad es motivo de gran preocupación, Java aún sería la opción más segura. Aparte de eso, cualquier otro lenguaje de fondo tradicional también podría hacer el trabajo. No estoy muy interesado en el back-end, así que mis dos centavos aquí se detendrían en “asegurarse de que el back-end proporcione una API limpia y eficiente”

Serverside: totalmente orientado a objetos usando http://www.openstack.org/ , Java / jee y mongodb si es relevante y no hibernate / spring u otros frameworks.

Lado del cliente:
Handlebar.js / bigote
Y guiones independientes para animaciones,
Sass / less para la mantenibilidad de CSS,
Algún sistema de red,
CSS personalizado y js,

Implementaría el lado del servidor usando cualquier marco MVC para páginas y Node.js para servir contenido interactivo como sugerencias.

Para la interfaz, usaría jQuery porque es un buen kit de herramientas genérico y sin complicaciones.

Usaría una arquitectura SOA (Arquitectura Orientada a Servicios) con Node.js en el lado del backend, con MongoDB como sistema de base de datos y AngularJS, HTML5 y CSS3 en el lado del cliente.