Definition: Webapplikation Was ist eine Web App?

Autor / Redakteur: M.A. Dirk Srocke / Florian Karlstetter

Webanwendungen bilden Anwendungsprogramme über das Client-Server-Modell ab. Während Daten vom Browser dargestellt werden, läuft die Anwendungslogik auf einem entfernten Server. Rich Internet Applications und Progressive Web Apps machen Clients zunehmend autarker.

Anbieter zum Thema

Von der Webanwendung nach dem Client-Server-Modell zur modernen Web App - eine Begriffsdefinition.
Von der Webanwendung nach dem Client-Server-Modell zur modernen Web App - eine Begriffsdefinition.
(Bild: geralt / pixabay) / CC0 )

Hinter der Bezeichnung Webanwendung, Online-Anwendung, Webapplikation oder eben Web-App verbirgt sich ein Anwendungsprogramm, das per Client-Server-Modell umgesetzt wird. Während Logikschicht und Datenhaltung also (verstärkt) auf einem Server ausgeführt werden, läuft die Präsentationsschicht typischerweise im Webbrowser eines als Thin Client agierenden Rechners.

Web-Apps sind nicht mit Webservices gleichzusetzen. Letztere ermöglichen eine Interaktionen von Maschine zu Maschine. Nichtsdestotrotz können Webanwendungen auch auf Webservices zurückgreifen, müssen dann jedoch eine Benutzerschnittstelle für menschliche Anwender bereitstellen.

Da klassische Web Apps auf Anwenderseite lediglich einen Browser voraussetzen, lassen sie sich prinzipiell plattformübergreifend nutzen – unabhängig von Betriebssystem oder Bauart des jeweiligen Endgerätes. Damit empfehlen sich Webanwendungen insbesondere, um SaaS-Angebote (Software as a Service) bereitzustellen.

Komponente: Webserver

Im einfachsten Fall werden Webanwendungen auf einem Webserver ausgeführt. In der Praxis kann es sich dabei freilich auch um mehrere Systeme handeln, die Benutzeranfragen ihrerseits auf einen oder mehrere Applikationsserver weiterreichen.

Webanwendungen können auf zwei grundlegende Arten realisiert werden. Das Attribut „standalone“ steht für eigenständige Programme oder von solchen interpretierte Skripte, die für jede Anfrage neu gestartet werden. Derlei Code wird über Schnittstellen – wie Common Gateway Interface (CGI) oder FastCGI – angebunden. Im Gegensatz dazu laufen „integrierte“ Webanwendungen direkt auf dem Webserver, sind also Bestandteil desselben oder ein vom Webserver integriertes Skript.

Um Daten dauerhaft zu speichern, können Webserver Informationen in Dateien oder auf Datenbankservern ablegen. Benutzerbezogene Daten lassen auch in Form von Cookies auf dem Clientrechner vorhalten.

Komponente: Client

Webserver und der als Client fungierende Webbrowser kommunizieren in der Regel per HTTP miteinander: So werden etwa Eingaben und Parameter des Nutzers an den Webserver übermittelt. Die Funktionalität der Client-Komponente übertrifft dabei jedoch häufig den Umfang einer bloßen Webseite.

So verlagern Rich Internet Applications (RIA) einen Teil der Programmlogik vom Webserver auf den Client. Dies beginnt bereits dann, wenn JavaScript, Java Applets oder Active-X-Plug-Ins genutzt werden, um mit dem Endanwender zu agieren.

Mit HTML5 lassen sich zudem Offline-Funktionen umsetzen, wie diese zuvor schon bis etwa 2010 von Google mit dem Projekt Gears vorangetrieben worden. Genutzt werden dabei unter anderem so genannte Service Worker – dahinter steckt eine Browsertechnologie, die per JavaScript einen Proxy zwischen Webbrowser und Server bereitstellt.

Unter Progressive Web Apps (PWA) versteht man Webseiten, die Eigenschaften nativer (mobiler) Apps abbilden. Entsprechende Anwendungen werden zunächst per Browser aufgerufen, lassen sich jedoch auch per Icon auf dem Homescreen des jeweiligen Endgeräts verlinken. Entsprechende Apps lassen sich oftmals offline verwenden oder informieren Nutzer mit Push Notifications über Zustandsänderungen. Technisch umgesetzt werden PWA mittels HTML5, CSS, JavaScript, Service Workers und optionalen Frameworks. Das stellt nicht nur höhere Ansprüche an die Fähigkeiten des jeweiligen Webbrowser, sondern adelt das Endgerät zunehmend zum Fat Client.

(ID:44859016)