2012-09-09 20 views
7

Devo iniziare un nuovo progetto, una webapp con molte forme e schermate e davvero non so quale tecnologia si adatti meglio. L'applicazione è un'app di tipo ERP, con pochissime animazioni e molti moduli. L'obiettivo è quello di ridurre al minimo i tempi di ricarica e attesa, deve essere il più vicino possibile a una normale app desktop (un sacco di lavoro sembra una meravigliosa app VB6 :-)pjax o lato client MVC?

Da un lato abbiamo lato client MVC (backbone). È bello avere tutto il codice in esecuzione sul client, ma nella mia mente ciò implica la ripetizione di un sacco di codice (ad esempio tutte le definizioni dei modelli) dal server (PHP + Fuel). Certo, una volta caricati tutti i task di informazioni come le impaginazioni o la griglia funzionano senza alcun ritardo ma presentano anche alcuni problemi di sincronizzazione (altri utenti possono modificare i dati e devo invalidare manualmente i dati sul client).

D'altra parte abbiamo pjax. L'idea è di rendere tutti i template e così via sul server, basta implementare una logica per restituire la pagina senza il frame per la richiesta pjax o la pagina intera sulle nuove richieste. Nessuna duplicazione del codice, lato client molto semplice.

Ho letto la storia from basecamp e from twitter ed entrambi i punti hanno senso per me. Non è possibile inoltrare sul computer del visitatore (caratteristiche, prestazioni ...)

Più ci penso, la modalità mi piace pjax su MVC, ma forse mi manca qualcosa. Quali sono i vantaggi di MVC rispetto agli svantaggi di pjax o pjax su MVC lato client?

Grazie mille

risposta

3

Backbone.js è un bene per pesanti, singola pagina applicazioni web che mai veramente palo, ma hanno un sacco di cose Ajaxian succedendo, menu a discesa a cascata interdipendenti, ecc Ha una buona API per eventi e collezioni. Se hai un javascript abbondante sul lato client, può essere un modo utile per organizzarlo. È supponente nel senso che prevede che la propria architettura lato server sia RESTful per impostazione predefinita e si deve fare uno sforzo per utilizzarla per API non RESTful.

Il progetto su cui sto lavorando è anche un'app Web ERP, con asp.net MVC sul lato server. Ho imparato che Backbone (con il manubrio come sistema di template) e .net mvc in realtà non suonano così bene insieme. Se vai su Backbone, devi davvero fare il full-hog (i metodi di controllo servono json, il gioco è fatto). Nelle pagine di questa app che sono più o meno "normali" pagine Web con alcuni moduli, Backbone è la scelta sbagliata.

Ho solo cercato su google PJAX per la prima volta, quindi ho praticamente letto la breve descrizione nella parte superiore della pagina, ma ho il sospetto che potrebbe essere la strada da seguire per il tuo scenario, in linea con Keep It Simple Principi sciocchi.