Calcoli lato client o lato server?

0

Mi stavo chiedendo dei calcoli lato client vs lato server per quanto riguarda i siti web che forniscono alcuni tipi di servizi di convenienza. Ad esempio, un sito Web online in cui inserisci una certa data e il sito web ti dice quanti giorni tra oggi e quella data. O un sito Web che ti spiega come risolvere l'equazione matematica immessa. Questi tipi di siti Web garantiscono calcoli lato server di qualsiasi tipo?

    
posta JayJuly 10.02.2018 - 08:07
fonte

1 risposta

1

Non esiste una risposta semplice a questa domanda. Ci sono molte diverse architetture software / strategie di implementazione che possono raggiungere questo obiettivo. Tutto dipende da quanto è complessa la tua applicazione e da quanto può diventare complessa un giorno.

Iniziamo con un semplice tipo di architettura MVC. Qui trattate il vostro codice lato client come una vista, il vostro server come un controller e trasferite il modello (cioè i vostri dati) tra la vista e il controller. Ciò consente di mantenere tutta la logica in un'unica posizione e di servire più visualizzazioni (ad es. App telefoniche, siti Web o persino interfacce di prompt di testo!). Fin qui tutto bene.

Tuttavia, quando ti impegni a farlo, ti troverai a definire più MVC all'interno della tua vista. Delegare ogni singolo controller sul lato server complicherà la progettazione e / o peggiorerà le prestazioni (fai 2 + 2 sul lato server o sul lato client?). Quindi ad un certo punto devi smettere di costruire controller sul lato server. L'arte è nel sapere dove fermarsi.

Tre semplici linee guida possono aiutare. Innanzitutto, se un calcolo / algoritmo è una costante del mondo e non è correlato alla logica "aziendale" dell'applicazione, in genere è possibile codificarlo sul lato client. Secondo, potresti non volerlo fare se l'algoritmo è complesso (ha bisogno di molti dati da altri / tuoi server, ha bisogno di molta CPU che il tuo utente tipico non avrà, ecc.). Terzo, potresti non voler spedire la logica lato client che ti dà un margine di proprietà per timore di qualcuno che inverta la logica della tua logica.

Prendiamo il problema dell'equazione. Non è banale, può cambiare perché ci sono diversi modi per risolvere un determinato problema (comprese aggiunte di passaggi banali per semplificare i passaggi esistenti) e costoso da costruire (quindi potresti non volere che qualcuno rubi il tuo duro algoritmo).

    
risposta data 10.02.2018 - 09:00
fonte

Leggi altre domande sui tag