© prettyboy80/Shutterstock.com
Single Page Applications mit ASP.NET Web API und Knockout

Single Page Applications mit ASP.NET Web API und Knockout


Als Single Page Applications (SPA) werden Webseiten bezeichnet, die ohne den klassischen Seitenwechsel auskommen und dem Benutzer so das Gefühl einer nativen Anwendung vermitteln. Was sich tatsächlich hinter diesem Hype verbirgt und welche Werkzeuge und Hilfsmittel für die Entwicklung von SPAs zur Verfügung stehen, erläutert der folgende Artikel.

Es ist noch gar nicht so lange her, da waren Webseiten alles andere als dynamisch und der Seitenwechsel stets mit einem Reload verbunden. Die einzelnen HTML-­Inhaltsseiten wurden durch eine oftmals statische Navigation verlinkt und JavaScript nur sparsam eingesetzt, da es als Sicherheitsrisiko galt. Bis dato hat sich einiges verändert. Technologien wie ASP.NET Web Forms haben das Web agiler gemacht, doch auch diese haben ihre Schattenseiten. Der wohl größte Nachteil sind die Postbacks, mit denen Daten zurück zum Server gesendet werden. Der Prozessfluss einer traditionellen Webanwendung wird durch die zustandslose Natur einer HTTP-Anfrage bestimmt. Dieses der Technologie geschuldete Verhalten heißt für den Benutzer, dass er bei jedem Seitenwechsel auf den Aufbau der gesamten Seite warten muss. Verzögert sich die Response des Servers oder bleibt diese gar aus, so entstehen unweigerlich längere Wartezeiten oder im schlechtesten Fall Verbindungsabbrüche im Ablauf der Anwendung. Das kann für den Anwender beispielsweise bedeuten, dass das bereits ausgefüllte Formular erneut ausgefüllt und zurück an den Server gesendet werden muss. Ein Ärgernis, das sicher jedem schon einmal widerfahren ist. Wäre es nicht schön, sich innerhalb einer Webseite wie in einer nativen Anwendung bewegen zu können, ohne nervige Wartezeiten und Postbacks? Dass so etwas funktioniert, zeigen populäre Beispiele wie Google Mail oder Facebook. Diese Webseiten sind nach dem SPA-Prinzip entwickelt. Als solche werden Webseiten bezeichnet, die aus einem einzigen HTML-Dokument bestehen und alle benötigten Ressourcen wie JavaScript und Style-Sheet-Dateien sowie das komplette Markup beim ersten Aufruf laden. Das Ein- und Ausblenden von Seiteninhalten sowie das Laden und Speichern von Daten wird anschließend von JavaScript übernommen, sodass ein Postback und somit das Neuladen der Seite nicht mehr notwendig ist. Bei diesem Vorgehen spielt AJAX (Asynchronous JavaScript and XML) die Hauptrolle und sorgt für das asynchrone Anfordern und Absenden der Daten, wodurch ein großer Overhead entfällt. Aber was ist der tatsächliche Mehrwert von Single Page Applications...

Neugierig geworden?

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang