Sie sind hier: Wissen
Begriff Single-Page-Application
Abkürzung SPA
Eintrag zuletzt aktualisiert am 25.03.2023

 Zur Stichwortliste unseres Lexikons

Was ist Single-Page-Application ?

Man unterscheidet heute Webarchitekturen zwischen (klassischen) Multi-Page-Application (MPA) und (modernen) Single-Page-Application (SPA).
Bei einer Multi-Page-Application (MPA) werden die HTML-Inhalte für komplette Webseiten bereits auf dem Webserver aus den verfügbaren Daten gerendert (man spricht von Server-Side-RenderingSSR) und zum Webbrowser gesendet. Eine Multi-Page-Application muss bei einem Ansichtswechsel (z.B. durch einen Klick auf einen Hyperlink oder eine Schaltfläche) immer einen Rundgang (engl. Roundtrip) zwischen Webbrowser und Webserver durch eine neue HTTP-Anfrage durchführen. Mit dem Eingang der HTTP-Antwort vom Webserver wird die gesamte Seite im Webbrowser ausgetauscht. Der Benutzer nimmt dabei den Seitenaustausch wahr und landet in der Regel – unabhängig von der vorherigen Scrollbar-Position – landet wieder am Anfang der neuen Seiten

Im Gegensatz zu Multi-Page-Application kann eine Single-Page-Application (abgekürzt: SPA, alias Single-Page-Web-Application) Ansichtswechsel im Webbrowser eigenständig durch Austausch von Seitenelementen im Document Object Model (DOM) des Webbrowsers via JavaScript vollziehen – ohne den Webserver zu konsultieren. Das Rendering von Daten findet auf dem Client statt: Client-Side-Rendering (CSR).

Bei einer Single Page Application (SPA) wird nur initial eine komplette HTML-Seite oder zumindest das Grundgerüst einer Webseite in einem HTML-Dokument zusammen mit JavaScript-Code vom dem Webserver geladen. Danach kann die SPA autonom arbeiten. Oft braucht die SPA aber beim Ansichtswechsel weitere Daten. Die Daten können von dem Webserver, von dem das Grundgerüst stammt, oder einem anderen Webserver über Webservices (meist REST-basierte Dienste, alias Web-APIs) geladen werden. Das Datenaustauschformat mit dem Webservice ist meist JSON, XML ist aber möglich. Die SPA rendert dann die von dem Webservice erhaltenen Daten zu einer neuen Ansicht. Der Webservice kann auch fertige HTML-Fragmente liefern, die die SPA dann nur noch in die Webseite einsetzt.

SPAs unterstützten auch oft einen Rückkanal vom Server, d.h. Sie erhalten vom Server aktuelle Daten automatisch auch ohne Benutzerinteraktion. Manche Autoren sprechen hier von "Echtzeitfähigkeit", was aber im engeren Sinne eine falsche Verwendung dieses Begriffs ist. SPAs können auch offline-fähig programmiert werden.

Eine Mischform zwischen MPA und SPA entsteht durch Server-Side-Pre-Rendering.

Beratung & Support

Schulungen zu diesem Thema

 Windows Installer (MSI), Windows Installer-XML (WiX) und MSIX - Erstellen von Installationspaketen / Verteilen von Windows-Anwendungen / Deployment
 UML mit Enterprise Architect (EA) von Sparx Systems
 Single-Page-Web-Applications (SPAs) entwickeln mit HTML5/CSS3 und JavaScript (oder TypeScript)
 Windows Server 2019 Update (Neuheiten für Administratoren gegenüber Windows Server 2016)
 Docker für Softwarearchitekten, Softwareentwickler und DevOps
 Windows Remote Desktop Services (RDS) / Windows Terminal Server (WTS) / Remote Desktop Protocol (RDP)
 Linux-Grundlagen
 Data Analysis Expressions (DAX) in Power BI und Analysis Services Tabular
 C# 11.0 - Neuerungen gegenüber C# 10.0
 Linux-Systemprogrammierung
 Versionskontrolle/Quellcodeverwaltung/Source Control mit Team Foundation Server Version Control (TFVC)
 Visual Studio 2022 (Visual Studio 17.x) Update - Die Neuerungen gegenüber Visual Studio 2019
 ASP.NET Core 7.0 - Änderungen und Neuerungen gegenüber ASP.NET Core 6.0
 Windows Modern Apps/Windows Universal Apps entwickeln mit der Windows Runtime (WinRT), XAML und .NET/C#/Visual Basic
 Umstieg auf Microsoft Exchange Server 2016
 Continuous Delivery & Build Automatisierung mit Git, Gradle, Jenkins, Puppet und Ansible
 .NET 4.0-Update - Die Neuerungen in .NET Framework 4.0 und Visual Studio 2010 im Überblick
 NoSQL-Datenbanken
 .NET Multi-Platform App UI (MAUI)
 Cascading Style Sheet (CSS) - Basiswissen (Grundlagen für Einsteiger)
 Windows 8/Windows 8.1 für Administratoren
 Professional Agile Leadership Essentials (PAL-E) - Das Training für Führungskräfte im agilen Kontext - Offizielles Training der scrum.org inkl. Zertifizierungsmöglichkeit.
 Windows 8/Windows 8.1 für Entwickler: Programmierung mit der Windows Runtime (WinRT) - Erstellen von Windows Apps mit C#/XAML und/oder JavaScript/HTML
 Angular - Basiswissen
 Self-Service Business Intelligence (BI) mit Excel PowerPivot und Microsoft SQL Server
 Microsoft SQL Server 2019 - Die Neuerungen gegenüber SQL Server 2017 (Update-Schulung)
 Windows Communication Foundation (WCF) - Aufbauwissen
 Microsoft SQL Server 2022 - Die Neuerungen gegenüber SQL Server 2019 (Update-Schulung)
 Konzepte und Softwarearchitektur moderner Web-, Mobil- und Cross-Platform-Anwendung
 Debugging von C++-Anwendungen/Fehlersuche mit Visual Studio
 Anfrage für eine individuelle Schulung zum Thema Single-Page-Application SPA  Gesamter Schulungsthemenkatalog