Du hast deinen AdBlocker an?

Es wäre ein Traum, wenn du ihn für t3n.de deaktivierst. Wir zeigen dir gerne, wie das geht. Und natürlich erklären wir dir auch, warum uns das so wichtig ist. Digitales High-five, deine t3n-Redaktion

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?

Finde einen Job, den du liebst

Bitte beachte unsere Community-Richtlinien

Eine Reaktion
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.

Abbrechen