In den vergangenen zwei Dekaden hat sich das Internet von einem Informationsmedium zu einem Kommunikationskanal und Arbeitsmedium entwickelt. Anwendungsprogramme, die bis vor wenigen Jahren hauptsächlich auf dem jeweiligen Computer des Benutzers lokal installiert wurden, werden in zunehmendem Maße als Webanwendungen, sind auch Webapplikationen genannt, konzipiert und in Form von cloudbasierten Software-as-a-Service-Lösungen (SaaS) angeboten.
Was sind Webapplikationen?
Eine Webapplikation ist ein Softwareprogramm, das auf einem Webserver ausgeführt wird. Im Gegensatz zu herkömmlichen Desktop-Anwendungen, die lokal auf einem Computer installiert und genutzt werden, muss auf Webanwendungen über einen Webbrowser zugegriffen werden. Die meisten Webapplikationen, kurz Web-Apps bezeichnet, basieren auf der Client-Server-Architektur.
Webanwendungen können dieselbe Funktionalität wie eine lokal installierte Software bereitstellen. Dokumente und Daten werden in der Cloud gespeichert und auf den lokalen Rechner heruntergeladen. G Suite (früher Google Apps) und Microsoft Office 365 sind Beispiele für die neueste Generation von Webapplikationen. Mobile Anwendungen, die eine Verbindung zum Internet herstellen, zum Beispiel die Facebook- und Dropbox-App oder eine Online-Banking-App, sind Beispiele dafür, wie Webanwendungen für die zunehmende Nutzung des mobilen Webs konzipiert werden.
Im Bereich des Mobile Computing werden Webapplikationen manchmal nativen Apps gegenübergestellt. Bei native Apps handelt es sich um Anwendungen, die speziell für eine bestimmte Plattform oder ein bestimmtes Gerät entwickelt und auf diesem Gerät installiert werden. Beide schließen sich jedoch nicht gegenseitig aus, da viele Anwendungen Elemente von nativen und Web-Apps enthalten. Programme, die beide Ansätze kombinieren, werden als Hybridanwendungen bezeichnet.
Eine relativ junge Entwicklung unter den Webapplikationen sind die sogenannten Progressive Web Apps, abgekürzt PWA. Hierbei handelt es sich um Webanwendungen, die dem Benutzer die gleichen Funktionen wie native Apps bieten, aber wie normale Webseiten geladen und unter der gleichen URL wie die dazugehörige Webseite gehostet werden. Ein großer Vorteil der PWAs ist, dass sie im Gegensatz zu nativen Apps auf allen Plattformen und mit allen Browsern genutzt werden können und nicht auf den Endgeräten installiert werden müssen.
Die Struktur von Web-Apps
Softwareanwendungen werden normalerweise in logische Blöcke unterteilt, die als „Schichten“ bezeichnet werden. Jede dieser Schichten übernimmt eine bestimmte Funktion. Herkömmliche Anwendungsprogramme bestehen nur aus einer Schicht, die sie sich auf dem Computer des Nutzers befindet. Webanwendungen sind in der Regel als ein n-Schicht-Ansatz strukturiert. Obwohl viele Variationen möglich sind, ist eine dreischichtige Anwendung die am häufigsten genutzte Struktur. In der gebräuchlichsten Form werden die drei Schichten als Präsentationsschicht, Anwendungsschicht und Speicherschicht bezeichnet. Ein Webbrowser ist in dieser Struktur die erste Ebene, die Präsentationsschicht. Ein Webserver ist die mittlere Schicht und eine Datenbank ist die dritte Schicht.
Bei komplexeren Webapplikationen kann eine dreistufige Lösung gegebenenfalls nicht ausreichen. In diesen Fällen wird ein mehr als 3-schichtiger Ansatz verwendet. Hierbei kann beispielsweise eine zusätzliche Integrationsschicht hinzugefügt werden, die die Datenschicht von den übrigen Ebenen trennt. Die Integrationsschicht dient als benutzerfreundliche Schnittstelle für den Zugriff auf die Daten, anstatt eine SQL-Abfrage direkt an der Client-Tabelle in der Datenbank durchzuführen. Dadurch kann die zugrundeliegende Datenbank ersetzt werden, ohne die anderen Ebenen zu ändern.
Der Anwendungsablauf bei Webapplikationen
Der Benutzer löst über das Internet eine Anforderung an den Webserver aus, entweder über einen Webbrowser oder über die Benutzeroberfläche der Anwendung. Der Webserver leitet diese Anfrage an den entsprechenden Webanwendungsserver weiter, der die angeforderte Aufgabe ausführt. Zum Beispiel die Abfrage einer Datenbank oder die Verarbeitung der Daten und generiert dann die Ergebnisse. Der Webanwendungsserver sendet die Ergebnisse mit den angeforderten Informationen oder verarbeiteten Daten an den Webserver zurück, der dem Client wiederum mit den angeforderten Informationen antwortet, die auf dem Display des Benutzers angezeigt werden.
Was ist der Unterschied zwischen Webseiten und Webapplikationen?
Der Begriff Webseite wird verwendet, um eine statische Internetressource zu beschreiben, die keine oder sehr wenig Interaktionen mit einem Benutzer bietet. Eine herkömmliche Webseite soll die Nutzer informieren. Sie können also auf der Webseite primär Informationen anzeigen oder lesen. Die besten Beispiele für Webseiten sind Blogs, Nachrichten und Wetterseiten. Benutzer können den Abschnitt eines Artikels oder Beitrags auswählen. Dieser kann auch eine Schaltfläche zum Abonnieren enthalten, jedoch keine weiteren Interaktionsmöglichkeiten.
Im Gegensatz dazu bieten Webanwendungen mehr Benutzerinteraktionen. Der Nutzer einer webanwendung kann Daten auf der Webseite eingeben, ändern und bearbeiten. Webapplikationen senden häufig Anforderungen an einen Webserver, um eine Benutzereingabe zu erfassen, zu verarbeiten und zu beantworten.
Die Vorteile von Webanwendungen
Webapplikationen haben gegenüber Desktop-Anwendungen mehrere Vorteile. Da sie in Webbrowsern ausgeführt werden, müssen Entwickler keine Web-Apps für mehrere Plattformen entwickeln. Eine einzelne Anwendung, die in Chrome ausgeführt wird, funktioniert beispielsweise sowohl unter Windows als auch unter OS X oder Mozilla Firefox. Entwickler müssen keine Softwareupdates an Benutzer verteilen, wenn die Webanwendung aktualisiert wird. Durch die Aktualisierung der Anwendung auf dem Server haben alle Benutzer Zugriff auf die aktualisierte Version.
Aus Anwendersicht kann eine Web-App eine konsistentere Benutzeroberfläche auf mehreren Plattformen bereitstellen, da das Erscheinungsbild vom Browser und nicht vom Betriebssystem abhängt. Darüber hinaus werden die Daten, die Nutzer in eine Web-App eingeben, remote verarbeitet und gespeichert. Auf diese Weise können Nutzer von mehreren Geräten auf dieselben Daten zugreifen, anstatt Dateien zwischen Computersystemen zu übertragen.
Die Nachteile von Webapplikationen
Webanwendungen haben gegenüber Desktopanwendungen auch Nachteile. Da sie nicht direkt vom Betriebssystem ausgeführt werden, haben sie nur eingeschränkten Zugriff auf Systemressourcen wie CPU, Arbeitsspeicher und Dateisystem. Daher sind High-End-Programme wie Software zur Videobearbeitung und andere Medienanwendungen im Allgemeinen als Desktopanwendungen leistungsfähiger. Web-Apps sind auch vollständig vom Webbrowser abhängig. Wenn der Browser beispielsweise abstürzt, können nicht gespeicherte Arbeitsfortschritte verloren gehen. Browser-Updates können außerdem zu Inkompatibilitäten mit Web-Apps führen und unerwartete Probleme verursachen.
Die Nutzervorlieben sind so individuell wie die Nutzer selbst. Manche Menschen bevorzugen Desktop-Apps, andere bevorzugen Webanwendungen. Daher bieten viele Software-Unternehmen mittlerweile Desktop- und Web-Versionen ihrer beliebtesten Programme an, wie z.B. Microsoft Office. In den meisten Fällen sind Dateien, die in der Online-Version gespeichert sind, mit der Desktop-Version kompatibel und umgekehrt. Nutzer müssen daher keine Nachteile befürchten, wenn sie sich zwischen beiden Anwendungen bewegen.
Bildquellen:
- Bild 1: © Geralt | pixabay.com
- Bild 2: © krzysztof | pixabay.com
- Bild 3: © Geralt | pixabay.com