Ho letto ultimamente su SPA e quanto è buono .. mi chiedevo se qualcuno potrebbe dire quando dovrei usare o ancora meglio quando non devo usare SPA come andare con regolare MVCSPA, le cose brutte?
risposta
Gli utensili per MVC (Rails, MVC4) è molto più maturo. C'è molta più documentazione incentrata sullo sviluppo dei siti MVC tradizionali. Lo sviluppo di applicazioni per pagine singole è difficile. Le applicazioni con densità di JavaScript sono difficili da scrivere e possono essere estremamente difficili da eseguire il debug.
Se vuoi entrare in SPA, guarda su John Papa's video training series su Pluralsight.com - che, a mia conoscenza, offre il miglior punto di partenza per lo sviluppo di applicazioni SPA. O studiare Backbone, ma questo non è semplicemente per il debole (finta?) Di cuore.
Un altro suggerimento: se sei uno sviluppatore ASP.Net, controlla in BreezeJS (http://www.breezejs.com) per la gestione dei dati.
Questo blog post offre una buona panoramica di alcuni dei potenziali problemi con le SPA, insieme ad alcuni suggerimenti per soluzioni alternative.
I potenziali problemi includono:
browser non sono delle migliori specie nella gestione della memoria e garbage collection. Specialmente quando si tratta di gestione DOM. Ad esempio, gli elementi rimossi dal DOM sono conservati in memoria. Se lasciamo agli utenti di lavoro sul DOM per lungo tempo senza un aggiornamento, browser potrebbe lottare al poliziotto con problemi di memoria
Dovremmo idealmente riutilizzare il più elementi del DOM, senza smaltimento. Ma anche con questo approccio, se l'utente crea migliaia di elementi DOM riusabili mentre utilizza l'applicazione, il browser potrebbe risentirne. D'altra parte, le perdite di memoria create da cattive pratiche di codifica si accumuleranno troppo in un DOM longevo.
Se è necessario che la funzionalità completa della suite di prodotti sia disponibile come applicazione a pagina singola, può essere troppo il codice JS/CSS per essere caricato in una sola volta con impatto sul tempo di caricamento iniziale.
Ho letto ultimamente su SPA e quanto è buono ..
ZPS basta invertire le responsabilità del browser del client. Le applicazioni tradizionali lato server svolgono la maggior parte del lavoro nel back-end. Le SPA fanno la maggior parte del lavoro sul front-end.
La cosa buona è che generare viste nel client significa che gli sviluppatori front-end possono fare tutto il loro design nel browser senza doversi preoccupare di toccare il back-end.
Disaccoppiare la vista dal modello (ovvero i controller esistono su entrambe le estremità) significa che i dati possono essere esposti come API REST sul server e riutilizzati per i client che hanno come target altre piattaforme (ex mobile, tablet, smart tv).
Eliminare la necessità di aggiornare ogni volta che una pagina viene caricata offre un'esperienza utente migliore.
Mi chiedevo se qualcuno potrebbe dire quando dovrei usare o ancora meglio quando non devo usare SPA come andare con regolare MVC
Il passaggio alla costruzione di ZPS dal lato server architetture MVC può essere molto impegnativo per alcuni. Molti sviluppatori che lavorano in modo esclusivo in una lingua lato server possono semplicemente odiare avere a che fare con Javascript (sviluppatori che programmano esclusivamente in lingue tipizzate staticamente).
L'esecuzione dei lavori di SPA richiede una riscrittura degli URL e il reindirizzamento di soluzioni alternative. Questa può essere un'esperienza molto confusa/straziante per lavorare per coloro che non hanno una comprensione di livello inferiore del server.
Gli utenti che hanno Javascript disattivato per impostazione predefinita non saranno in grado di caricare il sito.
Una SPA introduce molto più carico sul client, con tutto ciò che è in esecuzione nel contesto principale ciò può rendere l'interfaccia utente lenta/non rispondente. Esistono soluzioni alternative per risolvere questo problema nei nuovi framework SPA, ma è bene tenerlo a mente.
La scrittura del codice di codice per il browser è molto diversa dalla scrittura del codice per il server. C'è molta più complessità (ex DOM) nel browser.
La toolchain per lo sviluppo front-end è drasticamente diversa da quella che si potrebbe trovare utilizzata per sviluppare la maggior parte dei linguaggi sul lato server. Alcuni programmatori vivono e muoiono con i loro IDE.
Il recupero dinamico dei dati tramite Ajax può essere estremamente difficile all'inizio. Soprattutto, gli sviluppatori che non hanno una solida conoscenza di HTTP.
Davvero, si tratta di una domanda. Vuoi prendere il tempo per imparare come costruire SPA?