Sponsored Post Was ist das?

Interview: Was leisten Progressive-Web-Apps wirklich?

Progressive Web Apps
Die Lieblingsapp auch offline nutzen - dank PWA geht das. (Foto: Software & Support Media, sitthiphong/shutterstock.com)

Anzeige
Auf dem Konferenz- und Trainingsevent MobileTech Conference & Summit 2019, das vom 25. bis 27. März in München stattfindet, dreht sich alles um die neuesten Trends bei der Entwicklung mobiler Anwendungen.

Man kennt das: Kaum ist man so richtig in die Nutzung der Lieblingsapp vertieft, bricht plötzlich die Verbindung ab und nichts geht mehr. Abhilfe versprechen offline-fähige Apps, bei denen die wichtigsten Funktionen auch ohne Internet verfügbar sind. Insbesondere sogenannte Progressive-Web-Apps (PWA) sollen von Haus aus Offline-Funktionalitäten mitbringen.

Im Interview verraten Manuel Rauber und Thomas Hilzendegen, Software-Architekten bei Thinktecture und Trainer des MobileTech Conference & Summit 2019, welche Herausforderungen bei der Entwicklung offline-fähiger Apps zu meistern sind und ob PWA halten, was sie versprechen.

Offlinefähige Apps – was heißt das überhaupt?

MobileTech Conference & Summit
MobileTech Conference & Summit

Der MobileTech Conference & Summit ist ein Konferenz- und Trainingsevent für Mobile Development.

Hartmut Schlosser: Die Idee der offline-fähigen Apps ist ja gar nicht mal so neu. Dennoch ist die Entwicklung nicht trivial. Welche Herausforderungen gilt es dabei zu bewältigen?

Manuel Rauber und Thomas Hilzendegen: Eine offline-fähige App bedeutet, dass sowohl der Anwendungsrahmen (der Code der App) als auch die Daten selbst offline zur Verfügung gestellt werden müssen und die App nicht einfach nur mit einem Fehler abstürzt. Gerade bei den Daten beginnen hier schon die ersten use-case-abhängigen Herausforderungen. Sollen die Daten nur gelesen werden? Oder sollen die Daten auch im Offline-Modus verändert oder gelöscht werden können?

Sobald man über schreibende Zugriffe nachdenkt, kommt automatisch die Überlegung von Konfliktmanagement hinzu. Gewinnt der letzte schreibende Zugriff? Soll der Benutzer entscheiden können, was im Falle eines Konflikts passiert? Alle schreibenden Änderungen müssen im Offline-Modus auf dem Gerät gespeichert werden, sodass sie beim Online-Gehen an die API geschickt werden können. Hierbei ist auch zu beachten, wie eindeutige Identifikationen der neuen Datensätze im Offline-Zustand generiert und beim Übertragen an den Server abgeglichen werden. Zusätzlich haben Browser unterschiedliche Limits in Bezug auf die zu speichernde Datenmenge.

Interview zu PWA
Manuel Rauber und Thomas Hilzendegen (Thinktecture AG) im Interview. (Foto: Software & Support Media)

Progressive-Web-Apps

Schlosser: Progressive-Web-Apps versprechen hier Abhilfe. Wie funktionieren sie?

Rauber und Hilzendegen: Obwohl Progressive-Web-Apps die Eigenschaft „Offline“ in sich tragen, lösen PWA nicht gleich alle Probleme. Eine PWA hilft, den Anwendungsrahmen (Code) offline zur Verfügung zu stellen, aber nur bedingt bei den Daten. Möchte man die Daten, die man bereits angeschaut hat, nur rein lesend „offline“ anzeigen, kann eine PWA mit dem Service-Worker hier auch unterstützen. Bei einem echten Synchronisierungsvorgang hilft eine PWA aber leider nicht.

Schlosser: Wie hoch schätzt ihr den Mehraufwand beim Erstellen einer Progressive-Web-App im Vergleich zu anderen Single-Page-Applications ein?

Rauber und Hilzendegen: Eine PWA würden wir nicht als Mehraufwand bezeichnen. Die eigentliche Single-Page-Application muss sowieso erstellt werden, da diese die normale Anwendung darstellt. PWA ist nur ein weiteres Feature dieser Anwendung. Da eine PWA aus verschiedenen Charakteristika besteht, ist der Aufwand abhängig von den Anforderungen, die man unterstützen möchte.

PWA
Mobile Development - besonders für die junge Generation ein topaktuelles Thema. (Foto: Software & Support Media, Ser Borakovskyy/shutterstock.com)

Schlosser: Wo liegen die Nachteile einer PWA?

Rauber und Hilzendegen: Aktuell ist zu beachten, dass noch nicht alle neuen APIs, die eine PWA ausmachen, unter allen Browsern zur Verfügung stehen. Zum Beispiel ist hier die Push-API zu nennen, die bereits in Chrome (auch unter Android) funktioniert, bei der aber unter iOS noch nicht mal klar ist, ob sie überhaupt seitens Apple implementiert werden wird.

Außerdem sollte man sich bewusst sein, dass eine offline-fähige App nicht unbedingt auch offline-fähige Daten bedeutet, da hierfür mehr nachgedacht und implementiert werden muss. Dazu kommt, dass gewisse APIs im PWA-Umfeld verwirrend benannt sind. Allen voran die Background-Sync-API, deren Name vermeintlich bedeutet, dass man Synchronisationsvorgänge starten kann. Doch es handelt sich dabei vielmehr um einen intelligenten Scheduler, der es erlaubt, zu gewissen Zeitpunkten Code auszuführen. Die Entscheidung, ob dieser Code einen echten Synchronisierungsvorgang startet, obliegt dem Entwickler.

Generell gilt natürlich auch, dass gewisse Browser-Limitationen auch bei PWA gelten, sei es die Bereitstellung von Speicherplatz oder die allgemeine Browser-Performance. Und, wie im Web üblich, gilt, dass nicht alle nativen Funktionen genutzt werden können, wenn der Browser hierfür generell keine API bereitstellt.

Mehr Infos zu den Themen Progressive-Web-Apps sowie iOS- und Android-Development gibt es auf dem MobileTech Conference & Summit. Das Konferenz- und Trainingsevent findet vom 25. bis 27. März in München statt und bietet insgesamt 19 halb- und ganztägige Workshops und Sessions zu verschiedenen, aktuellen Mobile-Themen!

Zum Programm!

Hey du! Schön, dass du hier bist. 😊

Bitte schalte deinen Adblocker für t3n.de aus, um diesen Artikel zu lesen.

Wir sind ein unabhängiger Publisher mit einem Team bestehend aus 65 fantastischen Menschen, aber ohne riesigen Konzern im Rücken. Banner und ähnliche Werbemittel sind für unsere Finanzierung sehr wichtig.

Danke für deine Unterstützung.

Digitales High Five,
Stephan Dörner (Chefredakteur t3n.de) & das gesamte t3n-Team

Anleitung zur Deaktivierung