Lanzando mi sombrero en el ring aquí, hay algunas ventajas serias (y un par de contras) para separar su front-end de back-end:
- Modularidad: como lo indicó Elmer, hacer esto le permite cambiar la aplicación a diferentes ritmos.
- Recursos / Experiencia: elegir un lenguaje front-end y back-end puede ser en parte una elección de recursos; ¿A quién puedes contratar para trabajar en estas cosas? ¿Cómo es la experiencia en su área y en su presupuesto?
- Compilaciones / Implementación: no solo puede desarrollar a diferentes ritmos, ahora puede proponer estrategias de prueba, compilación e implementación que son completamente independientes, lo que le permite minimizar la interrupción de la experiencia del usuario durante las implementaciones y centrarse en las cadenas de herramientas adecuadas.
- Evolución: lo creas o no, un día Ruby on Rails y AngularJS no serán el chico nuevo y genial, o en general, las ofertas de tecnología cambiarán. Al separar su front-end y back-end, es más ágil en el intercambio de componentes de su infraestructura por tecnologías más nuevas y mejores.
- API: esta metodología lo obliga a pensar como un desarrollador de API que tiene enormes beneficios para sus usuarios y, potencialmente, para desarrolladores y negocios externos (dependiendo de su oferta de productos).
Y para equilibrar, un par de contras:
- Templating: no puede aprovechar el lenguaje de plantillas genial proporcionado por su marco web (ya sea que se presente como plantillas de Django, ERB, HAML, lo que sea). En cambio, su back-end será una API para cualquier front-end que elija.
- Compilaciones / implementaciones: ahora debe idear estrategias de prueba, compilación e implementación independientes para su aplicación, separadas por front-end y back-end, lo que requiere tiempo y recursos.
- JavaScript (lenguaje de programación): ¿Cuáles son algunas ideas para una biblioteca Javascript amigable para los niños?
- ¿Qué front end se recomienda con MySQL?
- ¿Qué más puedo hacer con mi experiencia en desarrollo web back-end?
- ¿Es más fácil ser un desarrollador web back-end o front-end?
- ¿Cuál es el lenguaje web de back-end más utilizado en Silicon Valley, especialmente por compañías conocidas y nuevas empresas emergentes que están impulsando las cosas?