Esistono attualmente diversi approcci per la creazione di applicazioni Web:
1. Solo lato server
Questo è un approccio classico in cui si esegue il rendering di pagine sul server da un framework Web come Ruby on Rails, Django, Express, Play! Quadro ecc.
Flusso di lavoro tipico : crea tutta la logica aziendale, i modelli e visualizza i modelli sul server nel quadro che preferisci.
2. Lato client + API REST
Relativamente non molto tempo fa, la comunità web nel suo insieme ha iniziato a creare applicazioni lato client in Angular, Backbone, Ember e alcune decine di altri framework JavaScript MV *. E ora abbiamo anche React.js che si unisce alla festa.
AGGIORNAMENTO : non ci sono malintesi. Quello che intendevo solo per lato client è la completa separazione delle preoccupazioni. Hai un server API REST e un'applicazione sul lato client che comunica con quel server. A seconda del caso d'uso, è probabile che non avrai mai una vera applicazione solo lato client che non si connette a un back-end né per autenticazione né persistenza dei dati.
Flusso di lavoro tipico : trascorri ore decidendo su Angular vs Backbone vs Ember vs X. Quindi costruisci i tuoi percorsi, modelli, viste, controller sul client. Al termine, ora crea modelli, controller, route sul server. In un certo senso stai facendo una doppia quantità di lavoro.
3. Ibrido
Non so molto sull'uso di questo approccio, ma se dovessi fare un'ipotesi, visualizzi le tue visualizzazioni (Vista del framework MVC) sul server. Di conseguenza, ottieni supporto SEO oltre a carichi di pagina più rapidi.
Sul fronte Hybrid c'è il rendr di airbnb che presumibilmente combina la spina dorsale e si esprime insieme.
Eric Florenzo ha pubblicato oggi sul suo blog: React: Finalmente un grande stack web server / client .
La quantità di modi per creare applicazioni Web è semplicemente travolgente. E per qualcuno che sta imparando lo sviluppo web questo può diventare un problema. Come si decide quale approccio utilizzare per costruire la loro prossima applicazione?