Skip to content

Innlegg

I en Single Page Application, bør jeg behandle på klienten eller serveren?

27. desember 2015 • 2 min lesing

I en Single Page Application, bør jeg behandle på klienten eller serveren?

Et av salgsargumentene for Single Page Application (SPA) var å flytte arbeid som tradisjonelt ble utført på serveren over til klienten. Jeg føler at SPA har innfridd dette løftet.

Men det er ikke bare roser. Det er lett å bli overivrig og presse for mye arbeid til klienten. Vi glemmer ofte at vi ikke kan kontrollere klientens miljø — klienten kan være alt fra en ti år gammel maskin til den nyeste smarttelefonen med tilgang til varierende internettfart. Det eneste vi kan regne med er at brukeren ser nettsiden vår i en nettleser.

Behandling

Etter min erfaring er intensiv behandling og data som trenger konsistens mellom serveren og klienten, som datokonverteringer eller data som krever presise beregninger, som penger, gode kandidater for server-side rendering.

Paginering

En vanlig oppgave som utføres på klienten er paginering. Med små datasett fungerer dette flott; men små datasett forblir aldri små. Etter hvert som data vokser, blir applikasjonen tregere og til slutt ikke-responsiv. Dessverre vet du ikke at det skjer fordi det er på klienten, og enda verre skjer det ikke på alle klienter, noe som gjør det vanskelig å feilsøke.

Å flytte paginering fra klienten til serveren vil lindre pagineringsrelaterte ytelsesproblem på klienten. Du tenker kanskje: “men nå gjør jeg en masse API-kall. Å gjøre så mange API-kall virker ikke optimalt.” Sant, det virker sånn, men du vil bli overrasket over hvor raskt dataene dine kommer tilbake fra serveren. Og det beste? Du kontrollerer serveren og kan øke kapasiteten etter behov.

Til syvende og sist vil du gi brukeren en rik og responsiv opplevelse, og noen ganger betyr det å la serveren gjøre det tunge arbeidet.

Sammendrag

Oppsummert, når det er mulig vil vi flytte arbeid til klienten, men ved å gjøre det kan vi raskt overbelaste klienten. Å holde krevende oppgaver som paginering og intensiv behandling på serveren kan beskytte oss mot å overvelde klienten.

Forfatter: Chuck Conway spesialiserer seg på programvareutvikling og Generativ AI. Koble til ham på sosiale medier: X (@chuckconway) eller besøk ham på YouTube.

↑ Tilbake til toppen

Du liker kanskje også