Die Anforderungen an moderne Webanwendungen steigen, bieten sie doch für Nutzerinnen und Nutzer in erhöhtem Maße Personalisierung, Service und Erlebnis. Für Webdesigner und Webentwickler spielen Faktoren wie einfache Programmierfähigkeit und Integration, Skalierbarkeit und Sicherheit eine immer größere Rolle. Neue Technologien helfen, diesen Ansprüchen gerecht zu werden.

Was ist eine Webanwendung? 

Webanwendungen oder Webapplikationen, kurz: Web-Apps, basieren wie „normale“ Webseiten auf Standard-Webtechnologien wie HTML, CSS und JavaScript. Im Gegensatz zu herkömmlichen Webseiten funktionieren sie aber im Grunde wie unsere Anwendungen auf dem Desktop oder auf mobilen Devices (Native Apps), mit dem Unterschied, dass sie geräteunabhängig im Browser laufen. Zu den Webanwendungen zählen Web-Mailer, Browserspiele oder Onlineshops, die Web-Versionen von Desktop-Programmen (z. B. Office-Paketen) oder von Native Apps und auch komplexe SaaS-Anwendungen (Software as a Service), die nur online verfügbar sind.  

Technisch gesehen sind Web-Apps Client-Server-Systeme, die über Server im Internet bereitgestellt werden und die umfangreichen Fähigkeiten moderner Browser nutzen.  Sie können aber oft auch (fast) komplett offline genutzt werden, wenn die Anwendungslogik (Geschäftslogik) auf dem Client läuft und benötigte Daten zwischengespeichert oder nur bei Bedarf per API geladen werden. 

Merkmale einer Webanwendung: 

  • Basiert auf Webtechnologien. 
  • Wird im Browser ausgeführt. 
  • Funktioniert daher geräteübergreifend. 
  • Speichert Session-Informationen.  
  • Ermöglicht umfangreiche Funktionalität und Interaktivität. 

Diese Vorteile haben in Verbindung mit immer leistungsfähigeren Internetanschlüssen und Client-Geräten dazu geführt, dass Webanwendungen in letzter Zeit zu ungeahnten Höhenflügen ansetzen. Auf der Grundlage neuer Technologien eröffnen sich völlig neue Möglichkeiten für digitale Geschäftsmodelle, ein besseres Nutzungserlebnis, für das Online-Marketing und nicht zuletzt für die Webentwicklung.  

Web-APIs für das effektive Teilen von Daten 

Das nächste Mal, wenn Sie im Internet ein Hotelzimmer buchen, können Sie es sich nicht nur anschauen und sich virtuell in 3D darin bewegen, sondern auch ans Fenster treten und den versprochenen „Meerblick“ überprüfen. Den virtuellen Rundgang und viele andere Funktionen ermöglichen neue Programmierschnittstellen (Application Programming Interface, API) der Browser von Google, Mozilla und Co. So können Entwickler mit der standardisierten WebXR Device API Virtual-Reality- und Augmented-Reality-Daten auf dem Bildschirm ausgeben und sogar die Sensorinformationen von Headset oder Controllern verarbeiten. 

Moderne Browser bieten mittlerweile zahlreiche APIs, die Daten von Browser oder Gerät für Webanwendungen nutzbar machen. Dazu zählen zum Beispiel APIs für die Anzeige und Manipulation von Grafik- und Multimedia-Formaten, den Zugriff auf Datenspeicher und Zwischenablage oder für die Nutzung von Sensordaten (GPS, Batterie, Lagesensor etc.), für das Manipulieren von Dokumenten und Elementen, das Abrufen und Aktualisieren von Daten oder für Kommunikation (z. B. Teilen-Funktion). Insbesondere Mozilla versucht mit standardisierten Web-API-Spezifikationen, die Ablösung nativer Apps durch geräteunabhängige Web-Apps zu ermöglichen. (10 interessante Browser-APIs nennt dieser Beitrag.) 

Clientseitige JavaScript-APIs sind aber nur eine Form von Web-APIs. Mindestens ebenso wichtig sind Webserver-APIs, die über HTTP mit Clientanwendungen interagieren, oft mittels REST („Representational State Transfer“ via JSON oder XML) oder SOAP (via XML). Sie stellen Daten und Funktionen als Webservices zur Verfügung. Mit clientseitigen und serverseitigen Web-APIs lassen sich so auch komplexe Webanwendungen mit großen Datenvolumina einfach und effizient umsetzen.  

Mit Microservices schneller zum Erfolg 

Serverseitige APIs sind auch die Basis für eine neue Evolutionsstufe verteilter Systeme: Microservices. Wie der Name schon sagt, erledigen in einer Microservice-Architektur schlanke, unabhängige und isolierte Dienste kleine Aufgaben. Der Vorteil: Sie lassen sich schnell aufsetzen, kommunizieren per API (häufig via HTTP, z. B. REST, gRPC, GraphQL) mit anderen Services oder Frontends und ermöglichen so modulare und gut skalierbare Anwendungen. Das reduziert Komplexität und vermeidet die Nachteile monolithischer Anwendungen, die oft unübersichtlich, unzuverlässig, aufwendig zu implementieren und schwer zu warten sind. Ein weiterer Vorteil: Für jeden Microservice können Entwickler Server, Datenbank und Sprache ihrer Wahl einsetzen, ohne Inkompatibilitäten befürchten zu müssen. Mehr Infos zu Microservices finden Sie hier im Blog. 

Schauen wir auf ein Beispiel: ein Webshop-Projekt. Mit Suche, Produktpräsentation und -verfügbarkeit, Warenkorb, Rechnungslegung, Lieferung oder Bezahlung müssen Prozesse beschrieben werden, die sämtliche Abteilungen des Unternehmens betreffen, sodass das Projekt entsprechend viele Ressourcen bindet. Bei bereits realisierten Webshops stellt sich wiederum das Problem, neue Services zu integrieren. Die Lösung: Die einzelnen Shop-Funktionen wie Einkaufswagen, Produktempfehlung oder auch Kasse werden in einzelne Dienste unterteilt, die in Form von Microservices umgesetzt werden. Sie lassen sich leicht integrieren, können jederzeit skaliert werden und legen bei Ausfällen nicht das gesamte System lahm. Die Microsysteme Produktempfehlung und Mehrsprachigkeit beispielsweise können nacheinander in den bestehenden Shop integriert werden. Fällt einer der beiden Services aus, kann der Microservice Einkaufswagen jedoch trotzdem ausgeführt werden. Auch die Datentrennung bei Microservices ist für Webanwendungen von Vorteil: Jede Abteilung bekommt nur die Daten, die sie auch wirklich benötigt. Die Buchhaltung interessiert schließlich nicht, welche Ergebnisse das Kundenbindungstool fürs Marketing liefert.  

Container als nächster Schritt in die Virtualisierung 

Die flexible Microservice-Architektur findet ihr Pendant in der Containervirtualisierung. Container schließen die Lücke zwischen Entwicklung und Produktivbetrieb. Weil jeder Container sein eigenes Betriebssystem mitbringt, können Microservices und Web-Apps in Containern komplett autark laufen. Jeder Microservice kann auf einer eigenen Server-Instanz betrieben und unabhängig vom Rest der Anwendung bereitgestellt, skaliert und aktualisiert werden. Das ermöglicht die agile Entwicklung und automatisierte Bereitstellung im Rahmen von DevOps und CI/CD (Continuous Integration & Continuous Deployment). Die Containervirtualisierung sorgt dabei für einen besonders effizienten Zugriff auf die Ressourcen des Hosts, sodass sich der Bedarf an CPU-Leistung, Arbeitsspeicher und Speicherplatz für neue Webanwendungen in Grenzen hält. Bei einem Ausfall des Betriebssystems können Container schnell und einfach in eine andere Umgebung verschoben und dort gestartet werden. (Mehr zur Containervirtualisierung von Anwendungen lesen Sie in diesem Beitrag.) 

Wussten Sie, dass Sie auf einem Virtual Server von Host Europe mit einem Linux-Betriebssystem schnell und einfach Docker einrichten können? Hier finden Sie mehr Informationen zu den leistungsstarken und kostengünstigen Virtual Server.

Entwicklungsvorsprung mit Web-Frameworks 

Die Voraussetzungen sind geschaffen, jetzt muss die schöne, neue Webanwendung nur noch geschrieben werden. Webentwicklung und Webdesign können traditionell auf eine große unterstützende Community zurückgreifen. So sind im Zuge der zunehmenden Beliebtheit von Webanwendungen auch zunehmend moderne Frameworks auf Open-Source-Basis entstanden. Mit JavaScript-Frameworks wie Vue.JS oder  Angular entwickeln Sie Single-Page-Anwendungen, mit Laravel PHP-Anwendungen fürs Backend und mit Spring Boot oder Eclipse Vert.x reaktive Microservice-Anwendungen für die Java Virtual Machine. 

Web-Frameworks machen das Erstellen von Webanwendungen nicht nur einfacher, sondern auch kostengünstiger. Die Web-Frameworks liefern fertige Code-Bausteine für die Grundfunktionen einer Webanwendung, zum Beispiel Datenbankanbindung, Mailversand, Sicherheitseinstellungen oder das Verhalten im Browser. Dadurch wird der Entwicklungsaufwand minimiert, die Community sorgt für Support und schnelle Fehlerbehebung. Anschaffungs-, Wartungs- oder Updatekosten entfallen. Die Auswahl des geeignetsten Web-Frameworks ist dabei noch das größte Problem. Fest steht: Es war noch nie so leicht, eine Webanwendung zu programmieren.  

Neue Technologien für Webanwendungen – Fazit

Ob für privat oder im Unternehmenskontext: Webanwendungen sind im Kommen und mit den neuen, webbasierten Technologien auch für kleinere Unternehmen profitabel umzusetzen. Die Verlagerung der „nativen“ Apps ins Web wird dabei unterstützt durch die große Gemeinschaft der Web-Community, die für zündende Ideen, schnelle Umsetzung und breiten Support bekannt ist. 

Titelmotiv: Unsplash

Host Europe

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.

Die von Ihnen hier erhobenen Daten werden von der Host Europe GmbH zur Veröffentlichung Ihres Beitrags in diesem Blog verarbeitet. Weitere Informationen entnehmen Sie bitte folgendem Link: www.hosteurope.de/AGB/Datenschutzerklaerung/