Single-Page vs Multi-Page e lato client vs lato server

4

Attualmente sto studiando i vantaggi e gli svantaggi di SPA (Applicazioni a singola pagina) rispetto a MPA (Applicazioni a più pagine). Avendo stabilito che MPA è più adatto per il mio progetto, ho proceduto a discutere di rendering lato server vs rendering lato client. Ma mentre lo facevo, ho notato che molti vantaggi, argomenti, ecc. Si sovrappongono agli argomenti in SPA contro MPA . La mia conclusione è stata che il puro rendering lato client non è possibile con un MPA e quindi devo procedere con il rendering lato server combinato con il lato client (per aggiornare piccole informazioni). La mia conclusione è giusta?

Perché mi sento come se stessi ripetendo me stesso quando parlo di rendering dopo aver parlato di SPA contro MPA . Al momento, i concetti di SPA vs MPA e lato client vs lato server sono sfocati in uno per me.

    
posta Suleyman 14.08.2018 - 17:11
fonte

1 risposta

3

SPA e MPA

La differenza principale tra una SPA e una MPA è che con un'applicazione a pagina singola, tutte le richieste avvengono all'interno del ciclo di vita di una singola pagina HTML. Potresti essere in grado di vedere diverse visualizzazioni, persino vedere diverse "pagine" dell'applicazione, ma tutto il rendering avviene all'interno di una singola pagina Web HTML. Ciò ha il vantaggio di mantenere lo stato dell '"applicazione" in un unico ambito. Pensa a un'applicazione come messenger.com, dove ci sono ancora molte parti mobili, ma non devi mai lasciare una pagina.

Un MPA, al contrario, vedrà l'utente visitare più pagine HTML distinte. Tutti gli script verranno rieseguiti quando la nuova pagina HTML viene caricata e qualsiasi stato deve essere mantenuto nella sessione o nella memoria locale. Questo è più simile al modello di stackoverflow.com.

Lato client e lato server

Puoi avere semplici app lato client che eseguono tutto il rendering e la logica con Javascript e che raggiungono il back-end solo per le operazioni API. Puoi anche avere delle semplici app lato server (il più comune con PHP, direi) in cui tutto il codice HTML e il contenuto sono pre-renderizzati sul server prima di essere scaricati dal browser web.

Il rendering lato client e il rendering lato server sono generalmente mescolati, però. Ad esempio, stackoverflow.com esegue il rendering della pagina Web con le domande e le risposte su di esso sul lato server e la invia all'utente. Il rendering lato client viene quindi utilizzato per AJAX upvote / downvote, aggiungendo nuovi commenti e per visualizzare in anteprima le risposte alle domande nel browser.

Spero che questo sia utile. Hai ragione nel dire che i concetti sono simili e possono anche essere mescolati l'uno con l'altro.

    
risposta data 14.08.2018 - 21:40
fonte