progressive web app

Progressive Web Apps

Der Browser als Anwendungsplattform

Das Konzept der Progressive Web Apps (PWA) ist der finale Schritt der Vereinheitlichung von Web- und Mobile-Entwicklung. PWAs sind grundsätzlich einfache Web-Apps, die über einen Browser geliefert und ausgeführt werden und somit auf einer Vielzahl von Plattformen zur Verfügung stehen. Ein responsives Design ist notwendig, um den unterschiedlichen Darstellungsformaten gerecht zu werden und die Stärken der einzelnen Plattformen zu nutzen. Durch ein sogenanntes Manifest, das Metadaten der Anwendung beinhaltet, werden die Anwendungen als PWA gekennzeichnet.

Der Browser bietet dem Anwender die Möglichkeit, PWAs lokal zu installieren und im Falle eines Smartphones einen Link auf dem Homescreen anzulegen. Wenn die Anwendung nun über diesen Link gestartet wird, erfolgt die Ausführung wiederum im Browser, allerdings ohne dessen Steuerelemente. Das vermittelt dem Anwender das Gefühl einer nativen App, ohne dass ein Anwendungsgerüst wie Apache Cordova zur Auslieferung nötig ist.

Nutzung von standardisierten APIs

Während unter Cordova der Zugriff auf Betriebssystem-Funktionen, wie z. B. die Bildschirmausrichtung, GPS-Daten oder die Kamera, über einzelne Plugins zur Verfügung gestellt wurde, nutzen PWAs standardisierte HTML5-APIs. Sogenannte Service-Worker ermöglichen zum einen die Verarbeitung von Aufgaben, während sich die App im Hintergrund befindet, wie bspw. eingehende Nachrichten. Zum anderen fungieren sie aber auch als Netzwerk-Proxy, der durch einen Caching-Mechanismus die Ausführung der App ohne Netzwerk-Verbindung ermöglicht. Erst mit dieser Offline-Fähigkeit ist eine PWA gleichwertig zu einer installierten nativen App zu sehen.

Progressive Enhancement

Der Funktionsumfang von PWAs ist – wie bei Web-Applikationen auch – abhängig vom Browser, in dem sie ausgeführt werden. Aktuell unterstützen mit Safari und Edge zwei große Player noch keine Service-Worker. Beide haben jedoch mit der Implementierung der Spezifikation bereits begonnen. Die fehlende Unterstützung von einzelnen Funktionen sollte ohnehin kein Hindernis für die Entwicklung einer PWA darstellen, da die graduelle Erweiterung der Funktionalität intrinsischer Bestandteil einer solchen Anwendung ist (Progressive Enhancement). Eine PWA, die bspw. unter iOS ohne Service-Worker ausgeführt wird, funktioniert dann nur mit bestehender Internet-/Netzwerkverbindung und unterstützt keine Push-Nachrichten.

App-Stores werden obsolet

Neben den Synergieeffekten, die man mit der Entwicklung von PWAs für unterschiedliche Plattformen nutzt, bietet auch der Wegfall der intermediären App-Stores Vorteile hinsichtlich der Vorlaufzeit neuer Features und Bugfixes. Da die Bereitstellung der Anwendungen über einfache Webserver erfolgt, die im Regelfall unter der Kontrolle des Entwicklers liegen, entfällt somit der teilweise aufwändige Review-Prozess der Betreiber der Stores. Auch eine interne Bereitstellung, die nur eine kleine Zielgruppe hat, ist aufgrund des einheitlichen Buildprozesses leicht aufzusetzen.

Progressive Web Apps – ein Konzept mit Zukunft

Trotz der – bisher – fehlenden Unterstützung zweier großer Plattformen für Service-Worker können PWAs mittlerweile als valide Alternative für die Entwicklung von mobilen Apps gesehen werden. Insbesondere Microsoft (Egde) bekennt sich neben Google (Chrome) zu dem Konzept von (Progressive) Web Apps und plant diese zukünftig auf eine Ebene mit nativen Apps zu stellen. Die Verschlankung des Technologie-Stacks sowie des Bereitstellungsprozesses senkt wiederum die Komplexität des gesamten Entwicklungsprozesses. Auch wenn durch die Verwendung der standardisierten HTML5-APIs ein gewisses Maß an Flexibilität verloren geht, wird dies durch den ersparten Aufwand für individuelle Programmierung, insbesondere bei Business-Apps, häufig aufgefangen.

Aktuelle Blogbeiträge

Lernen Sie die viadee besser kennen. In unserem Blog berichten wir über aktuelle Projekte, neue Trends und Entwicklungen aus der IT sowie über das Leben und Arbeiten bei der viadee. Über den Filter #NEWS gelangen Sie zu aktuellen Meldungen rund um die viadee.

zum Blog #News

Unsere Lösungen für
BANKEN, VERSICHERUNGEN, HANDEL UND WEITERE BRANCHEN

Agile MethodenAgile Methoden

Business Process ManagementBusiness Process Management

Clean CodeClean Code

CloudCloud

IT-SicherheitIT-Sicherheit

Java & ArchitekturJava & Architektur

Legacy ITLegacy IT

Frontend-EntwicklungFrontend-Entwicklung

Robotic Process AutomationRobotic Process Automation

Software-QualitätssicherungSoftware-Qualitätssicherung