App-Entwicklung

Progressive Web Apps: Was den Reiz ausmacht und wo die Fallgruben lauern

Uhr
von Marcel Hintermann, Head of Software Engineering und Partner, Monostream

Wer heute eine App anbieten will, muss sich fragen: Sind Webtechnologien die richtige Strategie? Progressive Web Apps bieten gegenüber Native-Apps zwar viele Vorteile für Nutzer und Unternehmen, doch sie haben auch ihre Tücken. Wer bei der Entwicklung Kosten sparen will, muss an die Endgeräte denken.

Marcel Hintermann, Head of Software Engineering und Partner, Monostream. (Source: Sven Kellenberger)
Marcel Hintermann, Head of Software Engineering und Partner, Monostream. (Source: Sven Kellenberger)

Progressive Web Apps (PWAs) sind über das experimentelle Stadium hinausgekommen. Vor allem deswegen, weil Google dahintersteckt. Der Techgigant treibt den PWA-Ansatz seit 2015 voran, indem er Android und Chrome kontinuierlich mit PWA-Features ausstattet und zig Entwickler-Tools zur Verfügung stellt. PWAs können in den Google Play Store, aber auch im Microsoft Store eingereicht werden. Als Nutzer kann man sich den Umweg über einen Store im Prinzip sparen, denn PWAs lassen sich direkt über Browser installieren. Dies funktioniert inzwischen auch auf dem Desktop, somit lassen sich Apps auch auf Linux, Windows und MacOS installieren

Apple sträubt sich etwas gegen PWAs, denn sie passen nicht zum Geschäftsmodell seines App Stores. Inzwischen räumt Apple den PWAs einige Funktionen ein. Wer jedoch eine PWA in den App Store bringen will, muss sie in eine sogenannte hybride App verpacken.

Was PWAs können – und was (noch) nicht

Die Idee hinter PWAs ist simpel: Man baut eine Applikation mithilfe von Webtechnologien wie HTML5, CSS und Java­script. Ziel ist es, die Vorzüge von Apps und responsiven Websites zu kombinieren. Da Webtechnologien weit verbreitet sind, ergeben sich viele Vorteile für Nutzer, Unternehmen und Entwickler. So kann etwa der Inhalt einer PWA über Suchmaschinen gefunden, offline zur Verfügung gestellt oder gar als Desktop-PWA genutzt werden.

Allerdings bieten PWAs Entwicklern noch längst nicht dieselben Möglichkeiten wie Native-Apps. Wer auf hardwarenahe Funktionen angewiesen ist, etwa auf 3-D-Visualisierungen, Sensoren, NFC, dem bleibt kaum eine andere Wahl, als eine native App zu entwickeln.

Entwicklungskosten sparen

Was PWAs aus unternehmerischer Sicht attraktiv macht: Sie bieten ein grosses Potenzial, um Kosten für die Entwicklung zu sparen. So muss das UI nur ein Mal entwickelt werden und nicht separat für iOS, Android und für das Web. Zudem ist die Kombination aus HTML5, CSS und Javascript aus Entwicklersicht sehr mächtig. Mit diesen Technologien lässt sich ein UI wesentlich schneller umsetzen als mit den gängigen nativen UI-Technologien. Ausserdem kann man sich aus einer Vielzahl von Libraries und Frameworks bedienen. Entwickler sparen viel Zeit, sie sehen das UI direkt im Browser und sind nicht auf einen Gerätesimulator angewiesen. Automatisiertes Testen ist einfacher und günstiger zu bewerkstelligen als mit anderen Technologien. Schliesslich lassen sich PWAs einfacher updaten: Es genügt, die Website zu aktualisieren. Man muss also nicht auf Apple und Google warten, bis sie ein Update für die Stores genehmigen.

Die Sonderkategorie "Mobile Web" von Best of Swiss Apps dreht sich um PWAs. Was der Award 2019 sonst noch bietet, erfahren Sie hier.

Auf Fallgruben achten

Auf dem Weg zu einer PWA ist eine Website in responsivem Design schon fast die halbe Miete. Soll sich aber die Website wie eine App anfühlen, brauchen Designer und Entwickler etwas Übung. Sie sollten etwa das Layout und die Navigation anders gestalten, als dies bei vielen Websites üblich ist.

Die Bedienung und das UI muss an die verschiedenen Screen-Grössen und Geräte angepasst werden. Bei Smartphones sollten aus ergonomischen Gründen wichtige Elemente der App in Reichweite des Daumens positioniert werden. Auch an die Unterstützung der üblichen Gesten sollte gedacht werden. Als weiterer Stolperstein kann sich die Notch erweisen. Oder das Ein- und Ausblenden der Tastatur. Wer solche Dinge nicht berücksichtigt, handelt sich eine App mit schlechter User Experience ein.

Webcode
DPF8_135090