È meglio costruire una stringa di codice HTML sul server o sul lato client?

1

Il risultato del seguente processo dovrebbe essere un modulo html. La struttura di questo modulo varia da uno a utente. Ad esempio, potrebbe esserci un numero diverso di righe o potrebbe esserci la necessità di rowspan e colspan .

Quando l'utente sceglie di vedere questa tabella viene effettuata una chiamata ajax al server in cui la struttura della tabella viene decisa dal database. Quindi devo creare il codice html per la struttura della tabella che verrà inserita nel DOM tramite JavaScript.

Mi viene in mente il seguente problema: dove dovrei costruire il codice HTML che verrà inserito nel DOM? Sul lato server o dovrei inviare alcuni parametri nel metodo di chiamata ajax ed elaborare la struttura lì?

Quindi la domanda principale riguarda le buone pratiche quando si tratta di decidere tra l'elaborazione lato server o l'elaborazione lato client.

Grazie!

    
posta Ionut 19.03.2012 - 11:24
fonte

2 risposte

3

sul lato server

  • Pro: più controllabile, più facile da eseguire il debug, meno dipendente dal browser del cliente
  • Contro: maggiore carico del server, maggiore traffico di rete e latenza

sul lato client

  • Contro: dipende dall'implementazione JS / DOM decente nel browser.
  • Pro: prestazioni, prestazioni, prestazioni. Meno carico del server (risposta del server più veloce), molto meno traffico di rete e grazie ai due precedenti meno latenze.

Ad esempio l'articolo del team tecnico di LinkedIn "Blazing fast node.js: 10 suggerimenti per le prestazioni da LinkedIn Mobile " come uno dei punti parla di quel problema.

    
risposta data 19.03.2012 - 15:33
fonte
3

Sicuramente lato server. Se lo fai dal lato server, sarai in grado di sfruttare molti più strumenti di programmazione e librerie per fare questo tipo di compito. L'elaborazione per questa attività potrebbe diventare davvero complicata in quanto i tipi di moduli che desideri creare diventano sempre più complessi e il numero di diversi tipi di moduli diventa sempre più grande, quindi ti limiti davvero a gestirli gestendola lato client .

    
risposta data 19.03.2012 - 13:24
fonte

Leggi altre domande sui tag