¿Cuáles son los mejores lenguajes de programación para facilitar la integración entre la arquitectura front-end y back-end?

En Cloudmanic Labs (http://cloudmanic.com) creemos que PHP / Ruby / NodeJs son las mejores opciones para el backend. Si bien puede usar casi cualquier cosa para el backend, estos lenguajes se crearon desde cero para usarse en la web. Por lo tanto, siempre hay algún tipo de biblioteca que puede conectar para resolver problemas web comunes. También tiene una comunidad que está intentando construir en la misma plataforma (la web).

Por ejemplo, hay muchas aplicaciones web Java. Sin embargo, Java no fue construido de la web. Fue modernizado. Java se usa para todo tipo de plataformas. La base de conocimiento no está tan centrada en la web.

Para el front-end hay toneladas de frameworks Javascript apareciendo todos los días. El que creemos que tiene el futuro más brillante es http://angularjs.org/.

Si crea una API RESTful en el backend y la conecta a AngularJs, es probable que cree una aplicación web moderna bastante rápida.

Con node.js, puede ejecutar Javascript en el lado del servidor, por lo que puede usar el mismo idioma tanto en el lado del cliente como del servidor. Si esto es demasiado radical para usted, puede usar Python en el backend. La facilidad de integración depende más de la arquitectura que del idioma seleccionado. Si maneja su front-end a través de un conjunto de API bien definidas (REST, JSONP o lo que sea que funcione para usted) y desacopla la interfaz de usuario del back-end, debe tener una integración razonable. El desacoplamiento también le ayuda a desarrollar la interfaz de usuario y el backend en paralelo. La interfaz de usuario puede usar objetos simulados durante el desarrollo y cuando el back-end está listo, la interfaz de usuario simplemente cambiará a la secuencia de datos real.