PWA vs. native Apps: Unterschied, Vor- und Nachteile

Inhalt
Eine Gemeinsamkeit haben PWAs und native Apps schon mal: Das App Icon auf dem Home Screen Deines Handys. Photo by William Hook on Unsplash
Wenn Du sich schon einmal damit beschäftigt hast, wie Du neben Deiner Webseite auch eine echte App veröffentlichen kannst, bist Du wahrscheinlich schon einmal auf den Begriff „PWA“ gestoßen.
PWA steht für “Progressive Web Apps”. Was eine PWA ist, was es darüber zu wissen gibt und ob PWAs genauso gut funktionieren wie echte native Apps, erfährst Du hier.
Grundlagen von App-Programmierung
Die Entwicklung von nativen Apps für Android und iOS ist teuer. Man muss zwei verschiedene Plattformen, Programmiersprachen und APIs unterstützen. Zudem muss das User Interface einmal für Android und einmal für iOS entwickelt werden.
Für eine mittelkomplexe App benötigst Du daher 2, aus Qualitätsgründen aber besser 4 Entwickler, die jeweils für Android- und iOS-Geräte entwickeln können.
Da Du aber schon eine Webseite hast, wäre es prima, wenn sich diese wie ein App verhalten und installieren lassen könnte.
Deine einfache HTML-Seiten reicht dafür aber nicht aus, denn Du benötigst für das, was Du erreichen möchtest, Zugriff auf die Kamera, den QR-Code Scanner, Zahlungsmethoden und Push-Nachrichten. Außerdem möchtest Du gerne ein App-ähnliches Offline-Erlebnis ermöglichen.
Hier kommen PWAs ins Spiel.
Progressive Web Apps (PWAs) sind herkömmliche Webanwendungen, die um Funktionen erweitert werden können, die bisher Apps vorbehalten waren. Sie verhalten sich auch wie Apps.
Merkmale von PWAs
Caching und Offline-Funktionen
Caching- und Offline-Funktionalität ist einer der Kernbestandteile von PWAs. Sie ermöglichen es, anzugeben, welche Dateien über den sog. Service Worker, dem unsichtbaren Helfer im Hintergrund von PWAs, verfügbar sein müssen.
Das ist insbesondere dann wichtig, wenn die Mobilfunkverbindung mal nicht optimal ist.
PWAs bieten außerdem die Möglichkeit, einen Job (z. B. Synchronisierung) automatisch fortzusetzen, wenn die Verbindung wieder online ist.
Zugriff auf Gerätefunktionen
Native Apps sind üblicherweise tief in die Funktion Deines Smartphones integriert. Für Nutzende ist es selbstverständlich, dass Apps QR-Codes scannen, Fotos aufnehmen, den Standort ermitteln oder Push-Nachrichten senden können - selbst dann, wenn die App gerade nicht ausgeführt wird.
Webseiten können das nicht. Außer, man macht eine PWA aus ihnen.
Einige Beispiele für solche App-Funktionen:
- Senden nativer Benachrichtigungen
- API für Hintergrundsynchronisierung
- Zahlungs-API
PWAs können noch viel mehr, z. B. Spracherkennung, Barcode-Scannen usw..
Ein tolles Beispiel, um mit PWA-Funktionen herumzuspielen, findest Du hier: https://whatpwacando.today
Geringere Entwicklungskosten bei einer PWA
Der Vorteil liegt auf der Hand: PWAs sind kostengünstig und schnell zu entwickeln.
Was Du bei einer PWA bedenken solltest
Größtes Risiko: PWAs erhalten nicht immer Unterstützung von Smartphone-Herstellern
Hier kommt der Haken: PWAs benötigen zwingend Browserunterstützung.
Unter Android ist das Risiko gering, da es viele Browser für das Google OS gibt und Google Chrome PWAs sowohl unterstützt als auch aktiv vorantreibt.
Bei Apple ist die Lage jedoch anders.
Im Februar 2024 entschied Apple ganz spontan, die Unterstützung von Teilen der PWA Spezifikation auf allen iPhones und iOS-Geräten einzustellen. Diese Entscheidung hat das Unternehmen aus Cupertino nach einigem Gegenwind zwar wieder zurück genommen.
Aber es bleibt das große Risiko, dessen man sich bewusst sein muss. Und wenn Du dieses Risiko nicht eingehen möchtest, brauchst Du eine echte App - entweder jeweils einmal für Android und iOS nativ programmiert, oder mit Cross-Plattform Frameworks wie Flutter.
Flutter ermöglicht es, dass Du mit einer einzigen Code-Basis sowohl für Android als auch iOS entwickeln kannst. Das spart Zeit und Geld.
Zudem kann man Flutter-Apps auch direkt als PWA ausliefern.
Eine Webseite macht noch lange keine gute mobile App
Aus Deiner Webseite eine PWA zu machen, ist im Grunde sehr einfach. Du benötigst nur ein paar Zeilen Code, das PWA Manifest, die Du in Deine Webseite hinein programmieren musst.
Aber nur weil Du Dich dazu entscheidest, mit ein paar Zeilen Code eine App daraus zu machen, wird daraus noch lange kein gutes Mobile-Erlebnis.
Du musst die Nutzer, deren Verhalten und Funktionsweisen von mobilen Endgeräten sehr gut verstehen, ansonsten sorgt die zu einer PWA konvertierte Webseite zu viel Frust auf Nutzerseite und färbt damit negativ auf Dein Produkt oder Dein Unternehmen ab.
Wenn Du Deine Webseite mit der PWA-Spezifikation erweitert hast, die Nutzung jedoch nicht zunimmt, solltest Du untersuchen:
- Vielleicht brauchen Deine Benutzer keine mobile Anwendung?
- Die PWA Erfahrung ist nicht gut genug und Du brauchst eine echte native App
Keine Veröffentlichung in den App Stores
Progressive Web Apps sind nicht in den App Stores gelistet. Das heißt, dass Deine PWA nicht über die Suche dort erreichbar ist. Eine App Store Optimierung ist damit auch nicht möglich.
Nutzende wissen oft nicht, wie man eine PWA installiert
Die meisten User sind mit PWAs nicht vertraut und wissen nicht, wie man eine PWA installiert. Sie sind es gewohnt, Apps über die App Stores zu installieren und finden sich mit PWAs nur schwer zurecht.
Fazit zum Unterschied zwischen PWAs und nativen Apps
Abhängig von Deinen Anforderungen für mobile Nutzung, kann eine PWA eine gute und kostengünstige Möglichkeit sein, die Reichweite Deiner Webanwendungen zu steigern. PWAs können sich wie echte Apps verhalten und auch so aussehen und dabei recht kostengünstig zu entwickeln sein.
Allerdings sind PWAs keine echten nativen Apps - und sie sind für viele Anwendungsfälle nicht geeignet. Mit echten nativen Apps hast Du mehr Möglichkeiten und Optionen. Zudem bist Du nicht dem Risiko ausgesetzt, dass Apple morgen den PWA Support einstellt und Du wieder von vorn anfangen musst.