Dovrei elaborare un JSON nel frontend o nel backend, che è più veloce? [chiuso]


11

Ricevo una risposta da un'API come risposta json. Sto codificando in Python per il backend.

Il team frontend ha bisogno di informazioni dalla risposta json non elaborata per il popolamento di un'interfaccia utente, quindi dobbiamo ordinare il json e rendere più semplice il recupero delle informazioni.

Ora posso ordinare il json in un formato specifico e spingere al team frontend oppure posso passare la risposta json grezza * al team frontend e lasciare che gestiscano l'ordinamento del json e utilizzino ulteriormente la loro interfaccia utente.

Ricorda che la dimensione del mio file json è di 15 MB .

Qual è il principio di progettazione più veloce e migliore?

Elaborare nel backend quindi spingere verso frontend o elaborare nel frontend?


A mio avviso, l'elaborazione sul server è migliore nel tuo caso a causa delle dimensioni e della lunghezza dei dati, poiché di solito i server offrono prestazioni molto migliori rispetto ai browser del PC.
Umair Khan,

1
Idealmente, il front-end consuma semplicemente le risposte API. Dato che l'interfaccia utente sarà in esecuzione sui computer di altre persone (che potrebbero essere deboli e lenti), non si desidera scaricare i dati che mungono sul lato client perché può portare a un'esperienza lenta e spiacevole nella propria app web. La risposta del backend dovrebbe essere più o meno nel formato necessario per il front-end. Idealmente, il front-end non dovrebbe fare molto (se presente) elaborazione dei dati reali, che dovrebbe essere eseguita sul lato server
Jayce444,

2
15 MB è un po 'troppo, lo farei sul backend.
Boris,

Risposte:


7

Idealmente, se la dimensione del file è di 15 MB, verrà caricata nella memoria del browser e ciò rallenterà, suggerirei di eseguire l'operazione solo nel back-end.

Puoi anche consultare questo link per riferimento. Differenza tra Python e Javascript e cosa usare

  1. Un aspetto importante è che è difficile eseguire il debug di JavaScript. Potresti notare che nonostante il tuo codice sia privo di errori, il programma non funzionerà (fallirà silenziosamente).


2

Vorrei suggerire di eseguire questo sul back-end, alcuni dei motivi principali che suggerirei questo è:

  • L'elaborazione su dispositivi mobili comporta un notevole consumo della batteria
  • Se il tuo frontend è web, JavaScript si bloccherà durante l'elaborazione (il che potrebbe portare a brutte esperienze)
  • La risposta del server può essere memorizzata nella cache per accelerare i tempi di risposta e ridurre l'elaborazione duplicata
  • La lingua del tuo back-end potrebbe essere in grado di eseguire l'attività in modo più ottimale rispetto al dispositivo front-end

0

Come altri hanno notato, ci sono alcuni buoni motivi per preferire l'elaborazione sul back-end:

  • se è possibile rimuovere tutti i dati non necessari dal JSON inviato al front-end, si ridurrà il carico sul dispositivo dell'utente finale sia in termini di trasferimento, sia in termini di tempo di analisi
  • potrebbe essere possibile memorizzare nella cache la chiamata dell'API remota, quindi non è necessario effettuare tante chiamate alle API remote (che di solito saranno molto lente rispetto al recupero della cache). Puoi anche potenzialmente memorizzare nella cache i dati di post-elaborazione, in modo da poterlo pubblicare ripetutamente
  • È possibile rilevare errori che si verificano durante l'elaborazione di JSON, mentre ciò è meno visibile se si verifica sul dispositivo client

Un altro grande vantaggio dell'elaborazione della risposta API sul back-end è che puoi scegliere la struttura che invii al front-end. In questo modo, se l'API che stai utilizzando cambia nel tempo (o cambi il servizio che stai utilizzando per recuperare i dati) puoi gestire tale modifica sul back-end senza che ciò influisca sul codice front-end.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.