Analyse

Progressive-Web-Apps unter iOS 11.3: Apple macht es Entwicklern nicht einfach

(Foto: Shutterstock)

Ab iOS 11.3 unterstützt auch das Apple-Betriebssystem die wichtigsten Bestandteile von Progressive-Web-Apps. So ganz kann die derzeitige Implementation allerdings nicht überzeugen.

Das von Google entwickelte Konzept der Progressive-Web-Apps (PWA) soll die Kluft zwischen Webapplikationen und nativen Anwendungen schließen. Die in der aktuellen Beta-Version von iOS 11.3 enthaltenden Safari-Version 11.1 bringt mit Service Workers und dem Web App Manifest zwei der wichtigsten Bestandteile von PWA auch auf iPhones und iPads. Das ist enorm wichtig für den Erfolg der Technologie, da iOS nach wie vor eine der wichtigsten Mobile-Plattformen ist.

Allerdings verhält sich Apples Implementation an einigen wichtigen Stellen leider nicht so, wie wir es von Android kennen. Die Probleme fangen schon bei den Service Workers an. Die sind das Herzstück einer PWA und geben den Apps die Möglichkeit, Javascript im Hintergrund auszuführen. Also auch dann, wenn die App nicht geöffnet ist.

Das Problem: Apple löscht den Cache einer PWA, wenn sie eine bestimmte Zeit lang nicht benutzt wurde. Unter Chrome, Firefox oder Samsung Internet passiert genau das aber nicht. Zu Recht, denn die App soll unter Umständen auch offline funktionieren. Bei der Implementation von Apple gibt es jedoch keine Garantie dafür, dass das dann funktioniert. Die Verfügbarkeit einer auf dem Homescreen abgelegten PWA wird damit zum Glücksspiel.

Einer der großen Vorteile von Progressive-Web-Apps liegt darin, dass sie auch offline funktionieren. (Grafik: Google)

PWA unter Safari, Web.app, Web View und dem Safari View Controller

Der Webentwickler und Autor Maximiliano Firtman weist in einem Blog-Beitrag auf Medium auf ein weiteres schwerwiegendes Problem hin: iOS verfügt über voneinander unabhängige Komponenten zur Darstellung von Webinhalten. Neben dem eigentlichen Safari-Browser gibt es die Web-View-Komponente, die Webinhalte beispielsweise in den iOS-Versionen von Chrome oder Firefox darstellt, Web.app zur Darstellung von auf dem Homescreen abgelegten Webapps und den Safari View Controller.

Sie alle unterstützen in der iOS 11.3 Beta-Version zwar Service Workers – allerdings jeder nur für sich. Sprich: Öffnet ihr eine PWA mit der iOS-Version von Chrome, dann habt ihr eine Instanz der App. Legt ihr sie als Icon auf den Homescreen ab, wird ein Klick darauf eine Zweite öffnen. Klickt ihr jetzt beispielsweise noch auf einen Link zu der PWA, die euch per Mail geschickt wurde, dann wird der Safari-Browser die dritte Instanz öffnen.

Apples Unterstützung des Web App Manifest

Wie eingangs erwähnt unterstützt iOS 11.3 auch das Web App Manifest. Dabei handelt es sich um eine JSON-Datei, in der verschiedene Informationen zu der PWA hinterlegt sind. Leider interpretiert Apple die aber nicht so, wie die anderen PWA-fähigen Browser das machen. So wird beispielsweise nicht das im Manifest angegeben Icon verwendet und auch die Vorgabe zur Bildschirmausrichtung wird ignoriert.

Ein weiteres Problem: Wie alle auf dem Homescreen abgelegten Web-Apps werden auch PWAs bei jedem Aufruf neu geladen. Schon das dürfte PWAs aus Nutzersicht eher uninteressant unter iOS machen. Derzeit fehlen außerdem auch wichtige Komponenten wie Web Push Notification und Background Sync. Weniger problematisch aber unschön: iOS unterstützt keine transparenten Icons. Die betreffenden Bildelemente werden stattdessen in Schwarz auf dem Homescreen dargestellt.

Fazit

Grundsätzlich ist es erfreulich, dass Apple erste Schritte hin zur Unterstützung von PWAs macht. Zumal das Konzept letztlich auch dazu führen könnte, dass wir deutlich weniger native Mobileapps nutzen. Genau an denen verdient Apple aber eine Menge Geld. Allerdings lässt die jetzige Implementation doch etwas zu wünschen übrig. Es bleibt zu hoffen, dass Apple hier noch nachbessern wird.

Weiterlesen: Kein Buzzword-Bingo – Was sind Progressive Web Apps?

Bitte beachte unsere Community-Richtlinien

Wir freuen uns über kontroverse Diskussionen, die gerne auch mal hitzig geführt werden dürfen. Beleidigende, grob anstößige, rassistische und strafrechtlich relevante Äußerungen und Beiträge tolerieren wir nicht. Bitte achte darauf, dass du keine Texte veröffentlichst, für die du keine ausdrückliche Erlaubnis des Urhebers hast. Ebenfalls nicht erlaubt ist der Missbrauch der Webangebote unter t3n.de als Werbeplattform. Die Nennung von Produktnamen, Herstellern, Dienstleistern und Websites ist nur dann zulässig, wenn damit nicht vorrangig der Zweck der Werbung verfolgt wird. Wir behalten uns vor, Beiträge, die diese Regeln verletzen, zu löschen und Accounts zeitweilig oder auf Dauer zu sperren.

Trotz all dieser notwendigen Regeln: Diskutiere kontrovers, sage anderen deine Meinung, trage mit weiterführenden Informationen zum Wissensaustausch bei, aber bleibe dabei fair und respektiere die Meinung anderer. Wir wünschen Dir viel Spaß mit den Webangeboten von t3n und freuen uns auf spannende Beiträge.

Dein t3n-Team

Ein Kommentar
Curlybraces
Curlybraces

Wir testen jetzt schon eine weile Service Worker unter Safari und stoßen auf verschiedenste Probleme, die es im Chrome und Firefox nicht gibt. Bspw. schickt der Safari bei bestimmten CORS Requests aus dem Service Worker keinen Origin Header mit.

Antworten

Melde dich mit deinem t3n Account an oder fülle die unteren Felder aus.

Bitte schalte deinen Adblocker für t3n.de aus!

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