Die erstmalige Entwicklung einer Progressive Web App hat uns vor verschiedene Herausforderungen gestellt.
Zum einen musste ein PWA-spezifisches Landingpage-Routing erstellt werden, damit die Generierung der PWA Landing-Page korrekt aus dem dafür geschriebenen Script erfolgen konnte. Außerdem war die Konfiguration des Zugriffs der PWA auf die Webseitendaten nicht so einfach wie ursprünglich gedacht.
Außerdem stellte sich der System- und Browsersupport als Herausforderung heraus: unterschiedliche Geräte und sogar unterschiedliche Browser unterstützen PWAs auf vollkommen unterschiedliche Weise. Doch im Endeffekt gelang es uns, mit viel Testing sowohl das Landingpage-Routing korrekt zu konfigurieren als auch eine für alle geeignete Installationsanleitung zu definieren.
Im Laufe der Entwicklung haben sich außerdem einige Betriebssystem-spezifische Probleme ergeben: es stellte sich heraus, dass iOS bei langen App-Bezeichnungen Leerzeichen entfernt. Deshalb wurde für iOS ein zusätzliches Feld in der PWA-Konfiguration für einen kürzeren Titel angelegt. Eine weitere Hürde war, dass sich die PWA auf Android nur ein einziges Mal installieren ließ, während es auf iOS keinerlei solche Einschränkungen gab. Um die mehrfache Installation auch auf Android zu ermöglichen, haben wir Cookies eingesetzt.
Auch beim Thema Push-Notifications gab es einige Challenges zu überwinden: Diese mussten Datenschutz-konform implementiert werden. Das hieß für uns, dass wir ohne Firebase und andere Dienstleister arbeiten mussten. Die Lösung hierfür war das Programmieren der Push-Benachrichtigungen direkt über die Schnittstellen der Betriebssysteme. Außerdem mussten wir sicherstellen, dass die Weiterleitung vom Klicken auf eine Benachrichtigung zu der korrekten Stelle in der App führt.
Wir haben uns bei diesem Projekt für einen Soft-Launch entschieden. Das bedeutete: Beta-Testing für ausgewählte Testaccounts im laufenden Betrieb. Wir haben im Live-Shop getestet, ohne die Gefahr, dass der Betrieb selbst darunter leiden könnte. Wenn das Feature ausreichend gut entwickelt war, konnten Testgruppen schrittweise vergrößert werden.
Dadurch konnten wir ein sehr geringes Risiko beim globalen Roll-out des jeweiligen Features garantieren, weil es bereits in der Umgebung getestet wurde.
Ein weiterer Grund der für einen Soft-Launch gesprochen hat, war die hohe Zahl von Nutzer:innen, die die App direkt verwenden würden.
Eine der größten Herausforderung bei der PWA-Entwicklung waren außerdem Caching-Anpassungen auf User/Feature-Set Basis, welche es vorher in der Konfiguration nicht gab. Dadurch musste ein flexibles Caching-Konzept entwickelt werden, das sowohl individuelle Nutzererlebnisse ermöglicht als auch die Performance der Anwendung sicherstellt.