Fino ad ora, sono stato un grande fan del pattern MVC per lo sviluppo di applicazioni web. Per il web, ho sviluppato principalmente in PHP (con i framework Kohana e CodeIgniter) e Ruby (RoR).
Dato che 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 di base di MVC: JavaScript sta facendo la maggior parte dei lavori; chiamare i controller solo per chiedere viste o più codice js / json sembra sbagliato.
Dopo aver cercato di mantenere tutti i lavori di routing nei controller, ora li ho divisi fondamentalmente tra loro e Javascript (cioè dal PoV del framework, parte delle visualizzazioni). Quando si chiede json, la subversione MVC appare ancora più ovvia: il codice js che esegue la richiesta è il controller; il controller del framework funge semplicemente da proxy per i dati del modello, quello che sto chiedendo in realtà.
Quindi, che cosa dovrei esaminare?
Stavo pensando ad applicazioni pure-javascript, ad esempio con backbone.js e un database json-spitting basato su documenti (couchDB) come backend, ma adoro i miei database relazionali.
Un'altra opzione sarebbe la seguente: mi piacerebbe solo creare "modelli instradati" in PHP / ruby / go / whatnot. Quelli analizzeranno la richiesta, chiameranno il db, restituiranno alcuni json.
Questo approccio mi sembra interessante ma manca di documentazione sostanziale o analisi accademica, quindi ho un po 'paura del salto.
idee?