Beiträge
In einer Single Page Application: Sollte ich auf dem Client oder dem Server verarbeiten?
27. Dezember 2015 • 2 min Lesezeit
Einer der Verkaufsargumente der Single Page Application (SPA) war die Verlagerung von traditionell auf dem Server durchgeführten Arbeiten auf den Client. Ich bin der Meinung, dass die SPA dieses Versprechen erfüllt hat.
Allerdings ist nicht alles rosig. Es ist leicht, zu ü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 einem zehn Jahre alten Computer bis zum neuesten Smartphone mit unterschiedlichen Internetgeschwindigkeiten. Das Einzige, worauf wir zählen können, ist, dass der Benutzer unsere Website in einem Browser anzeigt.
Verarbeitung
Nach meiner Erfahrung sind intensive Verarbeitung und Daten, die Konsistenz zwischen Server und Client benötigen, wie z. B. Datumskonvertierungen oder Daten, die präzise Berechnungen erfordern, wie z. B. Geld, ideale Kandidaten für serverseitiges Rendering.
Paginierung
Eine häufige Aufgabe auf dem Client ist die Paginierung. Bei kleinen Datensätzen funktioniert dies hervorragend; kleine Datensätze bleiben jedoch nie klein. Mit wachsenden Daten wird die Anwendung langsamer und wird schließlich nicht mehr reagiert. Leider bemerken Sie nicht, dass es passiert, weil es auf dem Client ist, und noch schlimmer, es tritt nicht auf allen Clients auf, was es schwierig macht, Fehler zu beheben.
Das Verschieben der Paginierung vom Client zum Server behebt Paginierungsprobleme im Zusammenhang mit der Leistung auf dem Client. Sie könnten denken: „Aber jetzt führe ich eine Menge API-Aufrufe durch. So viele API-Aufrufe scheinen nicht optimal zu sein.” Stimmt, es sieht so aus, aber Sie werden überrascht sein, wie schnell Ihre Daten vom Server zurückkommen. Und das Beste? Sie kontrollieren den Server und können die Kapazität bei Bedarf erhöhen.
Am Ende des Tages möchten Sie dem Benutzer ein reichhaltiges, reaktionsschnelles Erlebnis bieten, und manchmal bedeutet das, den Server die schwere Arbeit erledigen zu lassen.
Zusammenfassung
Zusammenfassend lässt sich sagen, dass wir nach Möglichkeit Arbeit auf den Client verlagern möchten, aber dadurch können wir den Client schnell überlasten. Das Beibehalten schwieriger Aufgaben wie Paginierung und intensive Verarbeitung auf dem Server kann uns davor bewahren, den Client zu überfordern.
Autor: Chuck Conway ist ein KI-Ingenieur mit fast 30 Jahren Erfahrung in der Softwareentwicklung. Er entwickelt praktische KI-Systeme – Content-Pipelines, Infrastruktur-Agenten und Tools, die echte Probleme lösen – und teilt seine Erkenntnisse unterwegs. Verbinden Sie sich mit ihm in den sozialen Medien: X (@chuckconway) oder besuchen Sie ihn auf YouTube und auf SubStack.