Entwicklung einer produktionsreifen Progressive Web App mit dem Cross-Platform Framework Flutter


Felix Günthner

Präsentation
06. June 2023, 10:00 Uhr, Raum 3.216
Betreuer
Christian Noss
Kooperationspartner
TH Köln
Stichworte
Flutter, Progressive Web App, Cross-platform, Web-Apps
Bildrechte
Felix Günthner

Abstract

Seit 2021 bietet das Cross-Plattform-Framework Flutter stabilen Web-Support. Dadurch können nicht nur mobile Anwendungen, sondern auch Webanwendungen mit einer Codebasis erstellt werden. Allerdings stellt sich die Frage, ob mit Flutter eine Progressive Web App (PWA) entwickelt werden kann, die einen bestimmten Komplexitätsgrad erreicht und den Anforderungen einer produktionsreifen Anwendung entspricht. Der Komplexitätsgrad umfasst bestimmte Bereiche wie die Benutzeroberfläche oder die Anwendungslogik. “Produktionsreife” wird gemäß der offiziellen PWA-Checkliste von Google definiert. Um diese Frage zu untersuchen, wurde eine PWA mit Flutter entwickelt. Die Entwicklung erfolgte in mehreren Sprints, die jeweils einen spezifischen Bereich des Komplexitätsgrads oder eine Anforderung der PWA-Checkliste abdecken.

Diese spezifischen Bereiche konnten größtenteils erfolgreich umgesetzt werden. Insbesondere die Benutzeroberfläche konnte ein natives App-Erlebnis bieten. Bei Anforderungen der Anwendungslogik traten jedoch Probleme auf, beispielsweise aufgrund fehlender Bibliotheken. Auch bei der Umsetzung der PWA-Checkliste, die charakteristische Merkmale einer PWA auflistet, gab es Probleme. Lediglich die Installierbarkeits-Säule der Anwendung konnte vollständig erfüllt werden. Die beiden anderen Säulen, Leistungsfähigkeit und Zuverlässigkeit, wiesen beide Schwachstellen auf.

Die Entwicklung einer PWA mit Flutter hat Vor- und Nachteile. Der Komplexitätsgrad spielt eine entscheidende Rolle, und je höher er ist, desto mehr spezifische Herausforderungen gibt es. Flutter eignet sich für eine PWA, wenn erstens die Webanwendung nicht das Primärprodukt ist und zweitens das Ziel verfolgt wird, eine zusätzliche Plattform zu bedienen. Es konnte kein vollständiger Nachweis über die Produktionsreife von Flutter zur Umsetzung von PWAs erbracht werden.

Vorschläge für weitere Arbeiten im Themenfeld

Entwicklung von Plugins für Flutter-PWAs

Performance-Optimierung von Flutter Web-Apps

Vergleich mit anderen Frameworks wie Vue oder React für die Entwicklung von PWAs