Actualmente existen múltiples enfoques para crear aplicaciones web:
1. Solo del lado del servidor
Este es un enfoque clásico en el que representa páginas en el servidor mediante un marco web como Ruby on Rails, Django, Express, Play! Marco y etc.
Flujo de trabajo típico : cree toda su lógica empresarial, modelos y plantillas de vista en el servidor en el marco de su elección.
2. API del lado del cliente + REST
Hace relativamente poco tiempo, la comunidad web en su conjunto comenzó a construir aplicaciones del lado del cliente en Angular, Backbone, Ember y algunas docenas de otros marcos JavaScript MV *. Y ahora también tenemos React.js unirse a la fiesta.
ACTUALIZACIÓN : No hay malentendidos. Lo que quise decir solo con el lado del cliente es la separación completa de las preocupaciones. Tiene un servidor API REST y una aplicación del lado del cliente que se comunica con ese servidor. Dependiendo de su caso de uso, lo más probable es que nunca tenga una verdadera aplicación solo del lado del cliente que no se conecte a un back-end para autenticación o persistencia de datos.
Flujo de trabajo típico : pase horas decidiendo Angular vs Backbone vs Ember vs X. Luego construye sus rutas, modelos, vistas, controladores en el cliente. Una vez que haya terminado, ahora cree modelos, controladores, rutas en el servidor. En cierto modo, estás haciendo el doble de trabajo.
3. Híbrido
No sé mucho sobre el uso de este enfoque, pero si tuviera que adivinar, representaría sus vistas (Vista del marco MVC) en el servidor. Como resultado, obtienes soporte SEO y cargas de página más rápidas.
En el frente híbrido hay un reproductor de airbnb que supuestamente combina backbone y express.
Eric Florenzo ha publicado en su blog hoy: Reaccionar: Finalmente, una gran pila web de servidor / cliente .
La cantidad de formas de crear aplicaciones web es abrumadora. Y para alguien que está aprendiendo desarrollo web, esto puede convertirse en un problema. ¿Cómo se decide qué enfoque usar para construir su próxima aplicación?