Independientemente de qué framework (s) de Javascript use, crear un sitio / aplicación completo en el front-end es mucho más complejo que hacerlo en el lado del servidor.
Mi suposición, a partir de su pregunta, es que el lado del servidor no tendría estado (suponga API REST). Esto significa que el estado de la aplicación debe administrarse en el lado del cliente (Javascript). Desde el historial del navegador hasta cualquier contenido cargado a través de ajax, todo debe ser mantenido por el front end (piense en lo que sucedería si el usuario vuelve a cargar la página).
Sin embargo, el principal desafío es el mantenimiento. Si bien puede mantener fácilmente un front-end HTML / CSS (cambiar diseños, rediseñar, agregar / eliminar funciones), se vuelve más complejo cuanto más Javascript tiene su sitio. Cuando tiene una aplicación basada en Javascript, esto se vuelve tan complejo como puede ser.
- Si tuviera que crear un sitio web como YouTube o Google+ que pueda alojar y transmitir videos, ¿qué lenguaje de programación puedo usar y cuál es el más efectivo? Tengo experiencia previa en Java, ¿será útil?
- ¿Una buena comprensión de JavaScript (junto con HTML / CSS) y las bibliotecas basadas en JavaScript serán suficientes para que un desarrollador siga una carrera en el desarrollo de aplicaciones / web?
- ¿Cuál es el bombo en torno a la programación asincrónica en estos días en el lado severo al crear aplicaciones web?
- ¿Qué es una aplicación web y cómo funciona?
- ¿MEAN stack es una buena dirección / aprender si quiero construir una aplicación web?
Algunas cosas para pensar antes de codificar:
– Seguridad (autenticación contra su API, etc.)
– Limitaciones de dominio cruzado
– Estado del usuario (autenticación, historial, contenido dinámico …)
– Diseño / mantenimiento de plantillas
Todos estos problemas / preocupaciones no son nada en contra de ember.js. Este marco es probablemente una de las mejores opciones para construir aplicaciones pesadas de JavaScript.