Beiträge
Sollte ich in einer Single Page Application auf dem Client oder dem Server verarbeiten?
27. Dezember 2015 • 2 Min. Lesezeit

Einer der Verkaufsargumente der Single Page Application (SPA) war es, Arbeit, die traditionell auf dem Server durchgeführt wurde, auf den Client zu verlagern. Ich denke, die SPA hat dieses Versprechen eingelöst.
Es ist jedoch nicht alles rosig. Es ist leicht, übereifrig zu werden und zu viel Arbeit auf den Client zu verlagern. Wir vergessen oft, dass wir die Umgebung des Clients nicht kontrollieren können — der Client kann alles sein, von einer zehn Jahre alten Maschine bis zum neuesten Smartphone mit Zugang zu unterschiedlichen Internetgeschwindigkeiten. Das Einzige, worauf wir zählen können, ist, dass der Benutzer unsere Website in einem Browser betrachtet.
Verarbeitung
Meiner Erfahrung nach sind intensive Verarbeitung und Daten, die Konsistenz zwischen Server und Client benötigen, wie Datumskonvertierungen oder Daten, die präzise Berechnungen erfordern, wie Geld, erstklassige Kandidaten für serverseitiges Rendering.
Paginierung
Eine häufige Aufgabe, die auf dem Client durchgeführt wird, ist die Paginierung. Bei kleinen Datensätzen funktioniert das großartig; jedoch bleiben kleine Datensätze nie klein. Wenn die Daten wachsen, wird die Anwendung langsamer und wird schließlich nicht mehr reagierend. Leider wissen Sie nicht, dass es passiert, weil es auf dem Client ist, und noch schlimmer, es tritt nicht bei allen Clients auf, was die Fehlerbehebung erschwert.
Die Verlagerung der Paginierung vom Client auf den Server wird paginierungsbezogene Leistungsprobleme auf dem Client lindern. Sie denken vielleicht: “Aber jetzt mache ich eine Menge API-Aufrufe. So viele API-Aufrufe zu machen scheint nicht optimal.” Stimmt, es scheint so, aber Sie werden überrascht sein, wie schnell Ihre Daten vom Server zurückkommen. Und das Beste daran? Sie kontrollieren den Server und können die Kapazität nach Bedarf erhöhen.
Am Ende des Tages möchten Sie dem Benutzer eine reichhaltige, reaktionsschnelle Erfahrung bieten, und manchmal bedeutet das, den Server die schwere Arbeit machen zu lassen.
Zusammenfassung
Zusammenfassend möchten wir, wenn möglich, Arbeit auf den Client verlagern, aber dabei können wir den Client schnell überlasten. Anstrengende Aufgaben wie Paginierung und intensive Verarbeitung auf dem Server zu behalten, kann uns davor schützen, den Client zu überfordern.
Autor: Chuck Conway ist spezialisiert auf Software-Engineering und Generative KI. Verbinden Sie sich mit ihm in den sozialen Medien: X (@chuckconway) oder besuchen Sie ihn auf YouTube.