Was ist eigentlich eine Single-Page-Webanwendung?
Das ist eine Single-Page-Webanwendung
Eine Alternative zu dem klassischen Web-Applikationen bieten sogenannte Single-Page-Webanwendungen (kurz SPA aus dem Englischen: single-page application). Hier kommt lediglich ein einziges HTML-Dokument zum Einsatz und kann neue oder veränderte Daten dynamisch laden. Das führt zu einer client-seitigen Verarbeitung der Anwendung und verringert die Server-Client-Kommunikation. Möchte der Client beispielsweise die Nachricht einer E-Mail öffnen, so wird nicht ein neues HTML-Dokument geladen, sondern der Inhalt des aktuellen Dokuments client-seitig verändert, ohne die Seite neu zu laden.
Je nach Anwendung kann, nachdem die Seite einmal geladen wurde, weiterhin offline durch die Applikation navigiert werden. Das funktioniert, indem Daten im Webbrowser zwischengespeichert werden, im sogenannten Web-Storage. Sollte nun die Kommunikation zum Server getrennt werden, können ganz einfach die zwischengespeicherten Daten verwendet werden.
Das sorgt für eine Dezentralisierung der Applikation. Bei der klassischen Webanwendungen ist stets der Server die zentrale Anlaufstelle des Clients. Bei den Single-Page-Anwendungen werden lediglich die Nutzdaten auf dem Server bereitgehalten.
Hier sind Single-Page-Webanwendungen sinnvoll
Ein gutes Beispiel für dieses Verhalten ist Googles E-Mail-Dienst Gmail. Öffnet ihr Gmail im Webbrowser, so wird die Anwendung geladen und einige Daten werden zwischengespeichert, darunter die Informationen zu einigen E-Mails. Deaktiviert ihr nun die Internetverbindung, könnt ihr trotzdem alle Mails öffnen und euch sogar die Nachrichten anzeigen lassen. Lediglich einige Bilder können nicht richtig geladen werden.
Insgesamt gibt es einige Einsatzgebiete, wo SPA sinnvoll sind. Web-Applikationen mit hohen Besucherzahlen ziehen einen riesigen Vorteil aus dieser Architektur: Der Grund ist die reduzierte Server-Client-Kommunikation. Das verringert auch die benötigten Server-Ressourcen. Beispiele dafür sind neben Gmail auch Twitter oder Google Maps.
Aber auch und vor allem für kleine Anwendungen wie Landing-Pages machen SPA Sinn. Ebenfalls sind Applikationen mit hoher Interaktion zwischen Nutzer und Anwendung, wie dies bei Computerspielen der Fall ist, prädestiniert für die Verwendung von SPA.
Wer selbst eine Single-Page-Webanwendung erstellen möchte, dem können einige Javascript-Frameworks, darunter Angular und Vue.js, behilflich sein. Mit ihnen wird das Erstellen von Single-Page-Applikationen deutlich vereinfacht.