Digitale Transformation
Web-Applikationen als Werkzeug
Desktop-Feeling im Web
Durch Web-Applikationen sind wir heute flexibel und erreichbar wie nie zuvor, doch häufig begrüßt uns der „Ladekreisel“ nach dem ersten Klick. Die Aufmerksamkeitsspanne im Netz ist klein, allzu verständlich ist daher der Wunsch von Website-Betreibern nach mehr Performance.
Die Geschwindigkeit von Websites hängt von verschiedenen Faktoren ab. Dazu gehören unter anderem die Entfernung zum Server, die Anzahl und Größe der eingebundenen Dateien, die Antwortgeschwindigkeit des Servers selbst sowie der eigentliche Kommunikationsvorgang, um nur einige Beispiele zu nennen.
Verteilte Server, mehr Serverleistung und eine bessere Anbindung dieser, sind meist ebenso wichtig, wie eine auf Performance-orientierte entwickelte Website. Die Leistung der zu erwartenden Endgeräte kann nur berücksichtigt, jedoch nicht beeinflusst werden. Dies galt lange Zeit auch für den eigentlichen Kommunikationsvorgang, doch das Nachladen dynamischer Inhalte kann inzwischen über einen anderen Kommunikationsweg vorgenommen werden.
Welche Unterschiede gibt es?
Bei traditionellen Websites wird für die Abfrage jeweils eine neue Anfrage über das HTTPS-Protokoll generiert und der Server lädt alle zur Bearbeitung dieser Anfrage erforderlichen Informationen, um der Website zu antworten. Dies ist die übliche Vorgehensweise und daher standardmäßig unterstützt und einfach zu handhaben. Dieser Prozess nimmt jedoch eine gewisse Zeit in Anspruch. Meist ist die resultierende Antwortzeit ausreichend, es kann jedoch Anforderungen geben, welche deutlich höhere Geschwindigkeiten erfordern. Dies trifft beispielsweise auf Anwendungen zu, bei denen der Nutzer live interagiert und folglich keine Eingabeverzögerungen auftreten sollten.
Um noch höhere Geschwindigkeiten zu erreichen, kann dieselbe Technik eingesetzt werden, die auch beim Livestreaming zum Einsatz kommt. Dabei stellt die Website über einen sogenannten WebSocket (= eine Art Netzwerkprotokoll) eine dauerhafte Netzwerkverbindung zum Server her. Die reine Netzwerkkommunikation über eine solche dauerhafte Verbindung ist bis zu fünf Mal schneller, als jedes Mal eine neue HTTPS Anfrage zu erzeugen. Zudem können aufbereitete Daten im Arbeitsspeicher des Servers vorgehalten werden. So lassen sich diese auf Anfrage direkt zurückgeben, was hunderte Millisekunden oder mehr einspart.
Die Reaktionsgeschwindigkeit kann durch dieses Vorgehen so stark verbessert werden, dass der Webseitenbesucher praktisch keine Verzögerung zwischen Anfrage und Reaktion mehr wahrnimmt. Die serverseitige Implementation kann jedoch mit dem vorhandenen System schwer zu realisieren sein. Abhängig vom bereits genutzten System können WebSockets sehr leicht oder sehr schwer nutzbar sein.
Fazit
Diese Vorgehensweise kann punktuell auf einzelne Teile einer Web-Applikation angewandt werden, oder auch die gesamte Datenbasis einer modernen Single Page App liefern. Der relativ hohe Entwicklungsaufwand lohnt sich, wenn der Anwendungsfall dies rechtfertigt.
Ist auf eine Nutzerinteraktion jedoch eine möglichst augenblickliche Reaktion erforderlich, bietet sich eine solche Lösung an.