cmi777 schrieb:
Was ich bisher gelesen habe, betrifft das nicht die Links ansich (also wenn diese letztendlich nur Shortcuts zu Webseiten sind) angeht, sondern nur "richtige" PWA, oder habe ich das falsch verstanden?
Ein klares Jaein!
Man kann jetzt darüber diskutieren ob Google Docs was ich direkt im Browser ausführe bereits eine PWA ist oder es erst zur PWA wird, wenn ich diese lokal "installiert" habe. So gesehen wird der PWA Support also nicht entfernt -- Google Docs und Co. welche typische PWA-Features wie localStorage verwenden, werden weiterhin funktionieren (ComputerBase.de ist auch eine PWA -- sogar mit Offline-Modus!). Streng genommen fällt lediglich das Feature weg, eine Website dem Homescreen hinzuzufügen und dadurch eine Isolierung zu erhalten (eigener Cookie-Store). Schaut man genauer hin, fällt mehr weg:
Der noch recht junge Web Push Support in iOS erfordert noch immer, dass die Website dem Homescreen hinzugefügt wurde. Beispiel: Angenommen ich hätte eine Paket-Tracking App als PWA gebaut. Du rufst einfach
https://packet-tracking.invalid auf und kannst darüber deine Pakete tracken. Dank Unterstützung von localStorage und Offline-Mode via Service-Worker verhält es sich wie eine echte native App. Was braucht so eine App? Notifications! Denn du willst schließlich eine Nachricht bekommen wenn sich deine Lieferung verzögert oder in wenigen Minuten eintrifft. Das Problem: Die bekommst du nur dann, wenn du besagte Website auch aktuell im Safari geöffnet hast. Doch schaust du gerade ein Video via SkyGo App oder ist dein iPhone im Standby, bekommst du keine Notfications. Seit iOS 16.4 bzw. für die breite Masse mit iOS 17.0 würde das aber funktionieren, wenn du
https://packet-tracking.invalid/ deinem Homescreen hinzugefügt hättest und darüber als "eigenständige" PWA nutzt.
Warum ist das so? Weil der Safari letztendlich nichts anderes als eine normale App ist -- es ist nur ein Frontend für WebView. D.h. wenn der Safari Prozess nicht mehr im Vordergrund läuft, bekommt er keine CPU-Zeit mehr. Die wäre aber notwendig um regelmäßig zu prüfen, ob neue Notifications vorliegen.
Die genauen Implementierungsdetails kenne ich natürlich auch nicht aber seit iOS 16.4 gibt es quasi einen Prozess der regelmäßig läuft, durch alle PWA-Container iteriert und die Service-Worker Subscriptions pingt (worüber die Push API implementiert ist). Da es aber bald keine zentrale WebView Komponente mehr gibt, fällt damit auch diese Möglichkeit weg...
Den Teil den ich selber noch nicht verstanden habe: Muss Apple wirklich an die WebView Geschichte gehen oder geht es bei dem DMA nicht nur darum, zusätzliche vollwertige Browser-Apps zu zulassen. Wie ich bereits ausführte ist auch das nicht trivial und würde einen Umbau verlangen. Aber das alleine ist ja noch kein Grund gleich die WebView-Systemkomponente zu entfernen. Die EU schreibt Microsoft ja bspw. auch nur vor, dass Benutzer ihren Standard-Browser frei wählen dürfen. Microsoft ist nicht verpflichtet auch die Rendering-Komponente die sie Anwendungen zugänglich machen (man stelle sich mal vor, der Endanwender dürfte auch entscheiden, womit Dinge wie die alte winhelp.exe "rendern").