PWA – Offline arbeiten mit Business-Web-Apps

Dank neuester Browser-Technologien eröffnen Progressive Web Apps (PWA) gerade im Bereich der Enterprise-Software völlig neue Möglichkeiten. PWA sind zentral gehostete Web-Anwendungen und können auch offline genutzt werden. Sie sind günstiger, schneller zu entwickeln und einfacher handzuhaben als die herkömmlichen nativen Apps, die nur für ein bestimmtes Betriebssystem entwickelt und für dieses bereitgestellt werden. Sie haben Zugriff auf die Hardware, wie Kamera oder Barcodescanner und können, unabhängig vom Browser, im Hintergrund laufen.

Noch vor wenigen Jahren mussten die meisten mobilen Anwendungen für Customer Relationship Management (CRM), Ordermanagement, Logistik und noch weitere Bereiche als native mobile Apps speziell für jedes Betriebssystem oder sogar Gerät gebaut werden. Jetzt können sie als leichtgewichtige, anpassungsfähige Responsive Web-Apps implementiert werden, die einige Vorzüge bieten:

  • Unabhängigkeit vom Betriebssystem: Eine einzige App kann auf dem Desktop, Tablet, Smartphone und anderen Geräten zum Einsatz kommen
  • Kein Deployment auf den Clients nötig
  • Schnelle Entwicklung: Es gibt hochwertige User-Interface-Frameworks für Web-Apps, die das Programmieren deutlich beschleunigen

Wie funktionieren PWAs?

PWAs setzen auf spezielle Browser-Technologien, um ähnliche Interaktionsmöglichkeiten wie native Apps zu bieten. Für den ersten Start der App muss im Browser eine Web-Adresse aufgerufen werden. Dann wird der Nutzer gefragt, ob die entsprechende Anwendung installiert werden soll. Nach Bestätigung wird die Installation vollautomatisch und unmerklich im Hintergrund durchgeführt. Ab da kann die App direkt vom Startbildschirm oder Desktop geöffnet werden und läuft außerhalb des Browsers.

Technisch gesehen werden die wichtigsten PWA-Features wie etwa die Offlinefähigkeit durch einen sogenannten Service Worker ermöglicht. Das ist eine Programmierschnittstelle (API) im Browser, die es der App erlaubt, ihre Inhalte direkt auf dem Client zu halten und nicht jedes Mal zwingend vom Server zu holen. Das gilt für den Quellcode (HTML und JavaScript) und auch für die Daten.

Vereinfacht gesagt: Solange eine Verbindung zum Server besteht, funktioniert eine PWA wie eine normale Web-App. Allerdings werden alle Server-Anfragen und -Antworten vom Service Worker überwacht und bei Bedarf zum Offline-Cache hinzugefügt. Sobald keine Verbindung mehr zum Netz besteht, antwortet der Service Worker auf die Server-Anforderung, ohne vom Server direkt abhängig zu sein: In der Regel werden für Leseanfragen die letzten Antworten aus dem Cache verwendet, während Schreibanweisungen in einem Puffer gesammelt und später im Hintergrund an den Server übertragen werden, wenn die Verbindung wieder steht.

Dabei kann der Frontend-Entwickler sehr detailliert festlegen, wie welche Ressourcen und Daten gehandhabt werden: Beispielsweise müssen einige bereits beim Start der Anwendung vollständig geladen werden, andere erst dann, wenn sie mindestens einmal angefordert wurden.

Besonders wichtig ist, dass die Datensynchronisation auch dann erfolgt, wenn der Browser geschlossen ist. Auch nach einem Neustart bleiben die im Offline-Betrieb eingegebenen Daten erhalten und werden nach Verbindungsaufbau automatisch im Hintergrund synchronisiert.

Wann ist eine PWA sinnvoll?

Wie bereits erwähnt, setzen PWAs auf die neuesten Browsertechnologien wie Service Worker, Background Sync API und andere. Derzeit, im September 2018, variiert der Grad der Unterstützung von Browser zu Browser und ist in seltenen Fällen sogar abhängig vom Betriebssystem, zum Beispiel bei Android 4 und älteren Versionen.

Die Philosophie von Progressive Web ermöglicht, ja fordert sogar die Kompatibilität zu älteren Systemen. Das heißt, dass eine PWA auch auf einem älteren Browser funktionieren würde, allerdings als reguläre Web-App. Als solche wäre sie nicht offlinefähig.

Mit der PWA-Technik kann also fast jede Web-App offlinefähig gemacht werden. Bevor Sie ein PWA-Projekt starten, sollten Sie prüfen, ob die benötigten Browser-Features auf den geplanten Clients verfügbar sind. Das ist ganz einfach: Im Internet gibt es zahlreiche Webseiten, die die Verfügbarkeit der einzelnen APIs in Ihrem Browser sofort anzeigen, wenn Sie die Seite besuchen.

Die nachfolgende Grafik zeigt die Möglichkeiten einer PWA im Vergleich zu „normalen“ Web-Apps und zu „echten“ mobilen Apps.

Bei datengetriebenen Enterprise-Applikationen ist die Dauer und Komplexität der Arbeiten im Offline-Modus für die Auswahl der Herangehensweise entscheidend:

  • Soll der Nutzer tagelang offline bleiben und dabei große Datenmengen beliebig bearbeiten können, so sind native Apps mit eigener Datenbank und leistungsfähigen Synchronisations-Algorithmen die bessere Wahl – obwohl sie häufig wesentlich teurer sind
  • Wird die Offlinefähigkeit nur benötigt, um mangelnde Netzabdeckung und eventuelle Störungen auszugleichen, ist eine PWA völlig ausreichend

PWAs mit SALT Power UI

Wir bei SALT Solutions sind überzeugt, dass PWAs mittelfristig „normale“ Web-Anwendungen vollständig verdrängen werden. Daher sind alle Apps, die auf unserer Plattform Power UI entwickelt werden, automatisch progressive: Sie können offline gestartet werden und lassen die Nutzer vorher geladene Daten jederzeit wieder anzeigen und, bei entsprechender Konfiguration, sogar bearbeiten.

Bei der Einführung der Offlinefähigkeit war uns besonders wichtig, dass Online- und Offline-Funktionen beliebig miteinander kombinierbar sind. So wird konfiguriert, ob und wie Daten für eine bestimmte Maske vorgeladen werden (z.B. der aktuelle Arbeitsvorrat), während es direkt daneben auch eine Maske geben kann, die nur online funktioniert (z.B. eine Bestandsabfrage).

 

Hinterlassen Sie einen Kommentar

Nach oben