Eine einseitige Web-Anwendung (SPA) ist eine Web-Anwendung, die aus einem einzelnen HTML-Dokument zusammengesetzt ist und deren Inhalt automatisch geladen wird. Dies schafft jedoch die Basis für die Entwicklung einer Web-Anwendung in Gestalt einer Rich Client oder Fat Client Distribution. Die erhöhte Client-seitige AusfÃ??hrung der Web-Anwendung ermöglicht eine weitere Einsparung an Serverlast und die Implementierung von Standalone-Web-Clients, die z.B. Offline-Support bieten.
Indem eine einzige Website als Grundlage für eine vollständige Web-Anwendung verwendet wird, kann die Client-Server-Kommunikation verringert werden. Dadurch entfällt die Kommunikation zwischen unterschiedlichen Websites. Beim sonst üblicherweise im Kontext einer Web-Anwendung im Web-Browser durchgeführten Seitenwechsel wird die gesamte Client-seitige Darstellungslogik abgebrochen und auf der folgenden Seite wiederaufgenommen.
So kann die Applikation auf dem Klienten weiterlaufen, ohne mit dem Rechner verbunden zu sein. Offlinefreundlich " bezieht sich auch auf die Übertragbarkeit von einseitigen Anwendungen auf Mobilgeräte. Bei der Implementierung der Web-Anwendung auf der Grundlage eines einzigen HTML-Dokuments wird der Status der Applikation im Web-Client immer beibehalten.
Dieses HTML-Dokument neu zu starten ist gleichbedeutend mit einem erneuten Start der Applikation. Bei einseitigen Webanwendungen ist daher die sonst üblichen künstlichen Emulationen von Session-Zuständen auf der Grundlage von sog. Cookien nicht mehr notwendig. Das Session-Management ist ein typisches Designproblem für verteilte Applikationen, das einen erheblichen Einfluss auf die Scalierbarkeit und Performance der Applikation haben kann.
Die Webclients sind eine eigenständige Unit und basieren auf verschiedenen Diensten. So kann der Web-Client unabhängig auf Aktionen des Benutzers agieren. Es ist keine große Anzahl von Roundtrips zwischen Clients und Servern erforderlich, was den Datendurchsatz verringert, die Anwendungsreaktion beschleunigt und die Benutzerfreundlichkeit verbessert. Darüber hinaus kann der Klient getrennt von einem Serverbetrieb weiterentwickelt werden und muss die Dienste nur dann nutzen, wenn sie vonnöten sind.
Bei den genutzten Diensten werden keine Vermutungen darüber angestellt, wie der Web-Client die gebotenen Dienstleistungen nutzt. Auch die Server-Seite kann unabhängig vom Kunden realisiert und erprobt werden. Hohe Nutzerzahlen Anwendungsbereiche mit hohen Nutzerzahlen sind das übliche Standard-Szenario für einseitige Web-Anwendungen. Das SPA Paradigma ermöglicht es, die Belastung des Servers zu verringern und gleichzeitig eine optimierte Erweiterbarkeit der Applikation zu realisier.
Das Betreiben einer Client-seitigen Präsentations- und Session-Verwaltung erleichtert nur die Server-seitige Architektur und ermöglicht eine Skalierbarkeit ohne verteilten Cache auf Applikationsserver-Ebene ("Dezentralisierung"). Offline-Szenarien Obwohl Offline-Szenarien auch für die klassischen Web-Anwendungen auf der Grundlage des HTML5-Anwendungs-Cache implementiert werden können, findet in solchen Szenarien nur eine client-seitige Ablage der auf der Serverseite erzeugten HTML-Dokumente statt.
Offline-Szenarien, die auf dem SPA Paradigma basieren, ermöglichen dagegen die Durchführung einer mandantenseitigen Geschäftskonzeptlogik in einem Offline-Szenario. Für die Client-seitige Bereitstellung von Daten ermöglicht das SPA Paradigma die Umsetzung von Datenbereitstellungsstrategien wie Caching, Replizierung oder Horten. Dies ermöglicht den produktiven Betrieb einer Web-Anwendung in einem Offline-Szenario. Kleinere Vorhaben Ein handhabbares technisches Konzept, z.B. für Firmenpräsentationen oder Produktlandeseiten, ist ideal für die Umsetzung nach dem SPA-Modell.
Der Schwerpunkt bei der Realisierung liegt auf der Präsentationsebene. In diesem Anwendungsbereich ermöglicht das SPA Paradigma ein hohes Maß an Interaktion und die Realisierung einer attraktiven Benutzeroberfläche. Der Web-Browser stellt für Applikationen wie Computerspiele eine plattformübergreifende Struktur zur Verfügung, insbesondere im 2D-Bereich. Der Einsatz solcher Applikationen erfolgte bereits in der Vergangenheit als Plug-In unterstütztes SPA mit Adobe Flash oder Microsoft Silverlight.
Das hat den großen Vorzug, dass nur Web-Standards verwendet werden, die auch auf Mobilgeräten verfügbar sind. So können mehrere Ziel-Systeme mit einer einzigen Implementation angesprochen werden. Hybrid Web Apps Das SPA Paradigma ist geeignet für die Einbindung in nativen Mobilanwendungen. In so genannten Hybrid-Anwendungen wird ein Web-Client über ein Rahmenwerk wie Apache Cordova eingelassen.
Der Weg zur Umsetzung einer solchen Webapplikation ist kundenorientiert und folgt in der Regel dem SPA-Modell. Die folgenden MV*-Frameworks (MV* als Platzhalter für MVC, MVVM, MVP,....) können zur Realisierung eines SPA-Web-Clients genutzt werden: