Pattern per applicazioni web ajax pesanti


12

Fino ad ora, sono stato un grande fan del modello MVC per lo sviluppo di applicazioni Web. Per il web, ho sviluppato principalmente in PHP (con i framework Kohana e CodeIgniter) e Ruby (RoR).

Mentre le mie applicazioni diventano più pesanti sul lato Ajax (app a pagina singola, ecc.) Ho notato che non posso fare a meno di tradire i concetti basilari di MVC: Javascript sta facendo la maggior parte dei lavori; chiamare i controller solo per chiedere visualizzazioni o più codice js / json sembra sbagliato.

Dopo aver cercato di mantenere tutti i processi di routing nei controller, ora l'ho sostanzialmente diviso tra loro e Javascript (ovvero, dal PoV del framework, parte delle visualizzazioni). Quando si richiede json, la sovversione MVC sembra ancora più ovvia: il codice js che fa la richiesta è il controller; il controller del framework agisce semplicemente come proxy per i dati del modello, ciò che in realtà sto chiedendo.

Quindi, cosa dovrei esaminare?

Stavo pensando ad applicazioni pure-javascript, ad esempio con backbone.js e un database basato su documenti, json-spitting (couchDB) come backend, ma adoro i miei database relazionali.

Un'altra opzione sarebbe la seguente: farei semplicemente "modelli indirizzati" in PHP / ruby ​​/ go / whatnot. Analizzeranno la richiesta, chiameranno il db, restituiranno un po 'di json.

Questo approccio mi sembra interessante ma manca di qualsiasi documentazione sostanziale o analisi accademica, quindi ho un po 'paura del salto.

Idee?


Vuoi migrare verso qualcosa come Socketstream . Progettato per applicazioni in tempo reale, client pesanti
Raynos,

2
Non temere il cambiamento. I database relazionali hanno il loro posto, ma se il tuo progetto non richiede un database relazionale, non utilizzarlo.
Beatgammit,

Risposte:


1

Se non ci sono analisi accademiche, fallo da solo. Sperimenta il tuo prossimo progetto su piccola scala e vedi come ti piace. Leggi il saggio di Paul Graham sul perché ha scelto Lisp per la sua startup, anche se non era comunemente usato. http://www.paulgraham.com/avg.html

Ci sono molti framework javascript MVC là fuori. Se vuoi creare un'applicazione javascript principalmente, allora fallo.

Crea semplicemente un'API riposante in rotaie o qualunque framework tu usi che è solo un wrapper per il database e non dovrai rinunciare al tuo database relazionale. Basta chiamare l'API come si chiamerebbe il database se si trattasse di un'applicazione logica basata su server.

Inoltre, se costruisci la tua app in questo modo, puoi creare facilmente il supporto offline.


Proverò questo per il mio prossimo progetto. Per quanto riguarda i framework javascript, cosa mi consigliate? L'unico che ho esaminato per ora è la spina dorsale.
cbrandolino,

La spina dorsale di @cbrandolino sembra buona per il limitato periodo di tempo in cui ho dovuto giocarci. Potresti voler controllare sammyjs.org per un progetto più piccolo.
Seth Archer Brown,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.