Was ist eine progressive Web-App-Lösung für IOS?

79

Ich habe mich gefragt, was die Lösung für progressive Web-Apps für iOS-Geräte ist, da deren Standard-Browser SAFARI progressive Web-Apps noch nicht unterstützt. Was ist dann die Alternative für IOS-Kollegen?

Manjari
quelle
1
Herzlichen Glückwunsch zu Ihrer ersten Frage. Wie Sie vielleicht wissen, ist eine der vielen Voraussetzungen für eine Progressive Web App (PWA) die Unterstützung von Servicemitarbeitern im Browser. Leider unterstützt Safari keine Service Worker, sodass die einzigen Alternativen native Apps oder eine einfache Website sind.
José Luis
1
Im Anschluss an @ JoséLuis sollte eine PWA dem Prinzip der progressiven Verbesserung folgen und daher unter Safari und iOS abwärtskompatibel sein. Dies bedeutet, dass die Kernfunktionen weiterhin verwendet werden können und die Anwendung schrittweise erweitert wird, wenn neue Funktionen im Browser oder im Betriebssystem verfügbar gemacht werden.
Kevin Farrugia
2
Siehe meine Antwort unten. Ich habe einen Artikel geschrieben, in dem Apple angerufen wird. Es sorgte bei Twitter und Hackernachrichten für Aufsehen. Eine Woche später begannen sie endlich mit der Entwicklung!
Greg Blass
2
Schließlich hat Apple die Unterstützung für Servicemitarbeiter in ihrem TP hinzugefügt. Weitere
Informationen
1
Ich muss wirklich sagen, dass es sooo f #% (#) dumm ist, dies als zu weit zu schließen. Wie im Ernst! Warum? Warum sollten Sie eine so wichtige Frage schließen? Bläst mich einfach um.
Greg Blass

Antworten:

97

Bitte beachten Sie, dass "Browser, die progressive Web-Apps unterstützen" kein realer Begriff ist. PWA selbst ist eine Reihe von Funktionen, die eine Web-App für Benutzer bereitstellen kann. Es geht also nicht nur um Service Worker und App Manifest.

Check out: Baseline PWA Checkliste .

Folgendes können Sie tun, um PWA unter iOS / Safari zu erreichen, sobald diese Antwort erstellt wird:

  • Die Site wird über HTTPS served bereitgestellt
  • Seiten reagieren auf Tablets und Mobilgeräten ✅
  • Die Start-URL wird (zumindest) offline geladen 🚫
  • Metadaten für Start zum Startbildschirm bereitgestellt ✅❗️
  • Die erste Ladung ist auch bei 3G ✅ schnell
  • Site funktioniert browserübergreifend ✅
  • Seitenübergänge fühlen sich nicht so an, als würden sie im Netzwerk blockiert ✅
  • Jede Seite hat eine URL ✅

Wie Sie sehen, funktioniert fast alles, auch wenn Ihre Seite unter iOS / Safari nicht offline funktioniert. Das "Upgrade" Ihrer Web-App in eine PWA bietet dennoch einen großen Vorteil.

Was Sie wirklich wollen, ist nicht der schicke Titel "Progressive Web Apps", sondern eine gute Web-App, die Benutzern eine gute Erfahrung und Funktionen bietet. Dies ist eine Reise, wie Sie sie mit jedem kleinen Teil erreichen können. Deshalb wird sie "Progressiv" genannt.

Hinweis zum "Zum Startbildschirm hinzufügen: Safari hat eine eigene Spezifikation für das Symbol" Startbildschirm ", die apple-mobile-web-app-capablein den Meta-Tags aufgerufen wird . Der Web App Manifest Generator hat einen Fallback für iOS, der diese Meta-Tags verwendet.

TrungDQ
quelle
7
Mit den oben genannten Funktionen und ohne "Service Worker" entwickeln Sie nur eine schnelle und reaktionsschnelle Web-App! Native Apps sind viel mehr !!
Abhishek Nalin
1
Downvote-Benutzer fragte nach iOS die Antwort ist so allgemein
Fareed Alnamrouti
Für den Startbildschirm bereitgestellte Metadaten ✅❗️ Funktioniert nicht. Können Sie das näher erläutern?
Profer
76

EDIT 3:

Servicemitarbeiter haben Safari für iOS am 30. März 2018 ausgeliefert!

EDIT 2:

Ein Apple-Entwickler namens Ricky Mondello hat dies am 24. Januar 2018 getwittert:

https://twitter.com/rmondello/status/956256845311590400

"iOS 11.3 und macOS 10.13.4 enthalten Service Worker - eine leistungsstarke Spezifikation, mit der Hintergrundskripte Offline-Webanwendungen unterstützen können. iOS 11.3 konsultiert auch das Web App Manifest, wenn dem Startbildschirm Webanwendungen hinzugefügt werden."

Genial!

Noch keine Push-Benachrichtigungen, aber immer noch erstaunliche Neuigkeiten.

BEARBEITEN:

Ich habe einen Artikel zum Thema Apple geschrieben:

https://m.phillydevshop.com/apples-refusal-to-support-progressive-web-apps-is-a-serious-detriment-to-future-of-the-web-e81b2be29676

Es wurde in Hacker-News gepostet und auf Twitter gut bekannt gemacht. Eine Woche später begannen sie mit der Entwicklung. Also - bleibt dran, es scheint endlich auf dem Weg zu sein!


URSPRÜNGLICHE ANTWORT:

"Es geht also nicht nur um Service Worker und App Manifest."

Meiner Meinung nach geht es bei einer PWA genau darum - um den Servicemitarbeiter. Das ist es, was Ihnen erlaubt, all die großartigen Dinge zu tun, die PWAs ermöglichen. Die Baseline ist seit langem möglich, und während Google sie technisch als Baseline-Klassifizierung etabliert hat, sind diese Dinge nicht das, was eine PWA wirklich zu dem macht, was sie ist. Ansonsten ist es nur eine reguläre reaktionsschnelle Web-App in meinem Buch.

Hier ist eine Liste von Dingen, die Sie mit der mobilen Safari immer noch nicht tun können, weil Apple sich weigert, sie zu unterstützen (weil sie Geld im App Store verlieren):

  • Erstellen Sie einen App-Ladebildschirm
  • Verwenden Sie Push-Benachrichtigungen
  • Offline-Unterstützung hinzufügen
  • Erstellen Sie eine erste App-Benutzeroberfläche, die sofort geladen werden kann
  • Sofortige Installation auf dem Startbildschirm über einen browsergesteuerten Dialog

Die akzeptierte Antwort malt hier wirklich das falsche Bild. Ich habe die apfelähnliche Erfahrung in der mobilen Safari an ihre Grenzen gebracht, und sie ist immer noch ziemlich schlecht. Ich habe zahlreiche Probleme mit dem Vollbildmodus von Mobile Safari festgestellt, und Apple kümmert sich einfach nicht darum. Es wird wie ein Bürger zweiter Klasse behandelt, weil es nicht wie der App Store Geld generiert.

Sie werden feststellen, dass die neue und beeindruckende React / Redux-basierte mobile Website von Twitter unter iOS nicht im Vollbildmodus geöffnet wird. Ich vermute, das hat die gleichen Gründe, die ich gefunden habe - Fehler in Hülle und Fülle, an denen niemand im Apple-Team arbeitet.

Der Ladebildschirm, der einst im iOS-Vollbildmodus möglich war und im Web-App-Manifest verfügbar war, funktioniert auf mysteriöse Weise nicht mehr, und Apple hat in seinen Foren keinerlei Kommentare zu Beiträgen zu diesem Thema abgegeben. Und den Benutzern sagen zu müssen: "Oh hey, klicken Sie einfach auf" Teilen "und dann auf" Zum Startbildschirm hinzufügen ". Dies ist eine schreckliche Möglichkeit, Dinge zu erledigen.

Es ist ein trauriger Zustand. Die Liste in der aktuell akzeptierten Antwort sollte eigentlich "Baseline Responsive Web App List" heißen.

Und um die Frage hier zu beantworten: Nein, es gibt keine Alternative und Sie können nichts tun. Sie müssen Apples Spiel spielen, 100 US-Dollar bezahlen, um Zugang zum App Store zu erhalten, eine völlig andere und komplexere Programmiersprache lernen und eine völlig separate Codebasis beibehalten.

Ich habe gerade 6 Monate damit verbracht, React Native für ein Kundenprojekt zu lernen, und es war großartig. Ich kann es nur empfehlen. Sie können mit JavaScript wirklich native Apps erstellen und Ihre Codebasis zwischen iOS und Android teilen.

Um klar zu sein, ich bin kein Anti-Apple. Ich benutze ein iPhone und entwickle auf einem Mac. Aber dieser Aspekt ihrer Geschäftsstrategie ist sicherlich eine Schande.

Greg Blass
quelle
1
Ich finde, dass Swift / Xcode die am einfachsten zu verwendende Sprache / IDE auf dem Markt ist. Sie bauten eine moderne Entwicklersprache und ein neues Paradigma auf, die protokollorientierte Programmierung, die viele der Probleme löst, die mit Mehrfachvererbungen verbunden sind. Die Tatsache, dass sie nicht versucht haben, ihre Verwendung über ihre eigenen Produkte hinaus auszudehnen, ist eine Schande, aber es als komplexer gegenüber TypeScript / JavaScript zu bezeichnen, wäre irreführend. Ich denke, TypeScript ist ein hässlicher Pflasterstein, den sie in eine hässliche Sprache setzen. Ich wünschte, Webbrowser sprachen stattdessen schnell.
Ryan Dines
Jemand hat mir in meinem Artikel dasselbe gesagt. Ich habe es bearbeitet, um mehr "ausführlich" zu sagen. Aber Sie haben Recht - ich bin wahrscheinlich voreingenommen, wenn ich aus dem Internet komme. Aber die Facebook-Teams konnten im Web fünfmal schneller iterieren als native Apps, weshalb sie React Native entwickelt haben. Ich denke, das hat einige Vorteile.
Greg Blass