Express.js es un marco del lado del servidor, similar a Sinatra. Es completamente diferente de los otros dos. Por ejemplo, puede implementar su API y la funcionalidad de servicio de archivos estáticos usando Express y terminar escribiendo su SPA en Ember o Backbone.
Backbone no es realmente un marco. Es una colección de funciones auxiliares. No hace muchas suposiciones y es bastante obstinado, lo que significa que es probable que termine escribiendo su propio marco pequeño y defectuoso en la parte superior de Backbone. Backbone fue una de las primeras bibliotecas en proporcionar funcionalidad MV * (sin controladores reales ). Esa es la razón por la cual es tan ampliamente adoptado. Sin embargo, actualmente todo se está moviendo hacia Angular.js, pero no implemente su aplicación en Angular debido a eso. Utiliza el marco que más te guste. Es una decisión realmente subjetiva.
Ember es bastante nuevo. Se han implementado aplicaciones web notables como Travis CI (Plataforma de integración continua alojada gratuita para la comunidad de código abierto). Se puede comparar con Angular, pero es completamente diferente de Backbone.
- ¿Es cursiva o icono en HTML?
- Cómo publicar una matriz multidimensional de botones de opción y casillas de verificación en MySQL usando PHP sin alterar los índices
- ¿Cuál es la mejor manera de mejorar sus habilidades de desarrollo web?
- ¿Cómo construyo un sitio web?
- ¿Cómo almacena grandes cantidades de datos de impresión / registro en MySQL sin desactivar el servidor MySQL?
Escribir aplicaciones web híbridas es difícil. Intentaría implementar todo como un SPA primero e intentar extraer la lógica en su servidor Express más adelante. Puedes usar algo como PhantomJS | PhantomJS para pre-renderizar su sitio web en el lado del servidor.