Ho chiesto questa domanda alcuni giorni prima qui e nessuno ha risposto.
Anche io l'avevo chiesto in forum.javascriptMVC.com
e ora ho una risposta, tuttavia ho bisogno di un po 'più di idea.Come combinare JMVC (javascript-mvc) e lato server MVC insieme
Domanda:
I read javascriptMVC's documents and I loved it.
But I don't know how to use it in a large scale project.
Credo che sul lato server è necessario un framework MVC o può aiutare tanto. E ho lavorato con framework PHP lato server.
Sono confuso, la mia comprensione dei progetti JavascriptMVC è che gestiscono gli eventi lato client negli eventi di acquisizione del browser, eseguono richieste AJAX, gestiscono le risposte/dati dal server e li mostrano all'utente in un'interfaccia grafica.
So che nei progetti MVC PHP abbiamo anche controller (e azioni) che ognuno di essi è una pagina separata con un singolo punto di ingresso, il mio punto è che queste pagine sono intere richieste HTTP.
penso che la combinazione di questi due quadri sarebbe in una forma di un singolo o pochi file pesanti (tra cui js, css, imgs ecc) che carica e gestita da un altro libary JavaScript come steal.js . Ora l'utente può lavorare con il sito e le sue azioni (come eventi) che determinano l'esecuzione di funzioni js che possono modificare qualcosa nell'interfaccia utente o causare una richiesta AJAX, come in Yahoo Mail dove la maggior parte delle cose accade nella pagina una.
Quindi, come influirà sul design di controller e azioni in PHP? Intendo normalmente nei framework MVC di PHP un sacco di controller e azioni significano molte pagine. Penso che a causa di AJAX il numero di controller e azioni dovrebbe essere effettivamente inferiore. Penso anche che a causa di JMVC la maggior parte dei controller (e delle azioni) dovrebbero rivolgersi ai risponditori AJAX, tuttavia in che modo i layout e le viste devono essere gestiti in questo contesto?
Infine
- Voglio sapere sui diversi aspetti di questo metodo (JMVC + MVC). (Sto usando Yii come framework MVC lato server e JavascriptMVC come MVC lato client).
- Voglio anche conoscere la gestione dei dati sul lato client.
- Mi piacerebbe capire come utilizzare AJAX e socket Web, dove possiamo usare AJAX e dove possiamo usare websockets ?.
- Voglio comprendere l'archiviazione locale come possiamo usarlo per la gestione dei dati delle pagine simulata e forse il caching, come possiamo memorizzare nella cache i dati provenienti dal server come JSON in una forma di pagina? Sto lavorando a un progetto molto ampio e voglio costruire le sue fondamenta in modo molto forte.
e alex da forum.javascript.com ha detto questo.1) Generalmente con JMVC stai costruendo applicazioni a singola pagina (anche se potresti avere diverse pagine per app complesse con layout diversi e condividere codice caricato tra) 2) con JMVC renderete tutte le viste sul lato client usando i modelli (EJS, Moustache) 3) sul server con le azioni del controller deve implementare l'API JSON (RESTful o simile), in modo che il server risponda con i dati, non con html. Rappresenterà questi dati all'utente utilizzando la logica del client (modelli, viste, controlli) se un corpo ha altra idea, per favore aiutami – ncm
Mi sembra che i framework javascript non offrano esempi di funzionamento con un framework lato server. – MageNewbie
Normalmente quando un controller lato server viene indirizzato da una richiesta http, restituirà una risposta sotto forma di vista (markup html). Se la richiesta http era una richiesta AJAX, la risposta dal controller lato server sarebbe stata restituita al callback AJAX. In questo modo javascript può recuperare i dati dal back-end attraverso un URI. Questo è il metodo che utilizzo attualmente con il framework Kohana e che usa jQuery per generare richieste http. – MageNewbie