Welche Funktionen haben Progressive Web Apps im Vergleich zu nativen Apps und umgekehrt unter Android [geschlossen]
112
2015 führte Google einen neuen Ansatz für die Entwicklung von Web-Apps für Android ein: progressive Web-Apps . Man kann eine Anwendung erstellen, die wie eine native Anwendung aussieht, die Hardware des Geräts wie Kamera und Beschleunigungsmesser verwenden, Push-Benachrichtigungen empfangen, ein Startsymbol haben, offline arbeiten, lokale Daten speichern usw.
Welche Funktionen bieten native Apps unter Android, die progressive Web-Apps nicht unterstützen, und umgekehrt?
Ab August 2016 bieten Progressive Web Apps tatsächlich mehr Hardwarezugriff als allgemein angenommen. Hier ist ein Screenshot von whatwebcando.today von meinem Chrome 52-Stall auf Android:
Hardware-Zugriff beinhaltet
Geolocation - wird in den meisten Browsern unterstützt
Ein weiterer wichtiger Punkt ist, dass das Origin Trials Framework ( in Chrome implementiert ) es Herstellern ermöglicht, Hardware- (oder Software-) Funktionen bereitzustellen und zu testen, ohne den Standardisierungsprozess durchlaufen zu müssen. Beispielsweise könnte ein Telefonhersteller eine API zum Lesen der Werte eines Drucksensors verfügbar machen, diese verfeinern und dann zur Prüfung an das W3C senden.
Neben dem Hardwarezugriff gibt es auch Softwarefunktionen, die traditionell von nativen Apps verwendet werden und jetzt für Web-Apps verfügbar sind.
Traditionell native Funktionen, die PWAs auch verwenden können
"Das Wichtigste ist, dass WebGL zwar immer noch erheblich langsamer als nativer Code ist, aber insgesamt bereits eine sehr gute Leistung erwartet werden kann, die in Zukunft nur noch besser werden kann."
Diese Funktionen decken viele Anwendungsfälle ab, und viele beliebte native Apps könnten heutzutage als PWAs umgeschrieben werden. Nehmen Sie zum Beispiel Slack. Die Open-Source-Alternative Rocket.Chat erstellt eine PWA-Version . Weitere PWA-Demos finden Sie unter https://pwa.rocks .
Zugriff auf Kontakte, Kalender und Browser-Lesezeichen (mangelnder Zugriff auf diese kann von datenschutzbewussten Benutzern als Funktion angesehen werden)
Alarm
Telefoniefunktionen - Abfangen von SMS oder Anrufen, Senden von SMS / MMS, Abrufen der Telefonnummer des Benutzers, Lesen von Voicemail, Tätigen von Anrufen ohne den Dialer-Dialog
Low-Level-Zugriff auf einige Hardwarefunktionen und Sensoren: Taschenlampe, Atmosphärendrucksensor
Systemzugriff: Aufgabenverwaltung, Ändern der Systemeinstellungen, Protokolle
Progressive Web Apps bieten Funktionen, die nativen Apps fehlen
Erkennbarkeit - Inhalte in progressiven Web-Apps können von Suchmaschinen leicht gefunden werden, aber eine inhaltsorientierte native App wie StackOverflow wird in den Suchergebnissen des App Stores nicht für Inhalte angezeigt, auf die sie Zugriff bietet, z. B. "pwa vs. native". Dies ist ein Problem für Communitys wie Reddit, die ihre zahlreichen Unter-Communities nicht als einzelne "Apps" für den App Store verfügbar machen können.
Verknüpfbarkeit - Jede Seite / jeder Bildschirm kann einen direkten Link haben, der einfach geteilt werden kann
Lesezeichen - Speichern Sie diesen Link, um direkt auf die Ansicht einer App zuzugreifen
Immer frisch - Sie müssen nicht in den App Stores nach Updates suchen
Geringe Verbreitung bei der Verteilung - Wenn Ihre progressive Web-App online ist, ist sie bereits für Android-Benutzer (und andere mobile Benutzer) verfügbar.
Schlussbemerkung: PWAs werden mit derselben Codebasis sowohl auf dem Desktop als auch auf den meisten Mobilgeräten ausgeführt. In Desktop-Umgebungen (ChromeOS und später Mac und Windows) werden sie auf die gleiche Weise wie andere Apps gestartet und in einem normalen App-Fenster ausgeführt (keine Browser-Registerkarte).
Ein kleiner Hinweis: Mit "Android Instant Apps" könnte man argumentieren, dass Native Apps (zumindest unter Android) keine Verknüpfbarkeit mehr aufweisen.
Shawnjan
Schöne Antwort Dan! Gibt es eine Möglichkeit für PWAs, auf die Telefonnummer des Hostgeräts zuzugreifen?
Alexander Mills
@Alexander: Nein (siehe Punkt "Telefoniefunktionen"), da dies eine Verletzung der Privatsphäre darstellen würde. Verwenden Sie stattdessen die automatische Füllung .
Der Hauptvorteil für native Anwendungen besteht darin, dass sie auf alle nativen APIs zugreifen können, die eine Plattform bieten kann (Kontakte, Kamerablitz, SMS, Telefonie, Netzwerk, Bluetooth, Sensoren, Raw-Sockets ...), während eine progressive Webanwendung (noch) nicht kann. da sie durch die Standard-Webfunktionen eingeschränkt werden.
Das Ziel für progressive Webanwendungen besteht darin, diese Funktionen zu erweitern, um die kritischsten Fälle abzudecken. In dieser Stimmung werfen Sie einen Blick auf Progressive Web Apps: Tabs entkommen, ohne unsere Seele zu verlieren. Dort finden Sie eine Liste der Angebote einer progressiven Webanwendung:
Responsive: für jeden Formfaktor
Konnektivitätsunabhängig: Mit Service Workern schrittweise verbessert, damit sie offline arbeiten können
App-ähnliche Interaktionen: Verwenden Sie ein Shell + Content-Anwendungsmodell, um Appy-Navigationen und -Interaktionen zu erstellen
Frisch: Dank des Service Worker-Aktualisierungsprozesses immer auf dem neuesten Stand
Sicher: Wird über TLS (eine Service Worker-Anforderung) bereitgestellt, um das Schnüffeln zu verhindern
Auffindbar: Sind dank des Registrierungsumfangs von W3C Manifests und Service Worker als „Anwendungen“ identifizierbar, sodass Suchmaschinen sie finden können
Wiedereingliederbar: Kann auf die Benutzeroberflächen für die Wiedereingliederung des Betriebssystems zugreifen. zB Push-Benachrichtigungen
Installierbar: Auf dem Startbildschirm über vom Browser bereitgestellte Eingabeaufforderungen, sodass Benutzer Apps, die sie am nützlichsten finden, ohne den Aufwand eines App Stores behalten können
Verknüpfbar: Das heißt, sie sind reibungslos, nicht installierbar und einfach zu teilen. Die soziale Kraft von URLs ist wichtig.
Von diesen Punkten aus war Linkable eines der ersten Merkmale, die von nativen Anwendungen aus dem Open Web in Form von Mobile Deep Linking importiert wurden .
Besondere Erwähnung verdient jedoch die Kombination frisch + installierbar, da sie einen der Hauptvorteile des Web als Plattform gegenüber den nativen Alternativen darstellt. Hier installierbar bedeutet, dass es auf Ihrem Startbildschirm angezeigt wird. Dies bedeutet nicht, dass Sie die Download- und Installationsphasen bestehen müssen. Sie öffnen eine URL oder entdecken einen Dienst beim Surfen und fertig: Es wird auf Ihrem Startbildschirm angezeigt .
Frisch bezieht sich auf die Funktionsweise eines normalen Webs, das ein sofortiges Laden und nahtlose Updates bietet. Du wirst nicht aufgefordert, ein Update aus dem Web von YouTube zu installieren, es wird bereitgestellt und du verbrauchst es beim nächsten Besuch.
Ich spreche nicht über die Vorteile der verbleibenden Punkte, weil Sie nach den Unterschieden gefragt haben und beispielsweise die Wiedereingliederung von nativen Anwendungen über Push-Dienste und Benachrichtigungen bereits erfolgt ist und Webanwendungen jetzt aufgeholt haben.
Eine weitere verwandte und wichtige Frage ist, welche Plattform für Ihre Anforderungen besser geeignet ist. Wenn Sie nicht auf spezielle Hardwarefunktionen zugreifen, sollte das Web ausreichen und Sie das Web auswählen, das Sie frei von Marktplätzen und proprietären Ökosystemen sind. Übrigens können Sie einen bestimmten Grad an Allgegenwart und Interoperabilität sicherstellen .
Als letzte Anmerkung empfehle ich Ihnen, www.flipkart.com von einem Handy mit Chrome aus zu durchsuchen . Es ist ziemlich großartig: keine Fehler, reibungslose Navigation, App-ähnliches Gefühl. Gehen Sie offline und es wird weiter funktionieren. Ein wirklich reales Beispiel für diesen Beitrag. Fügen Sie die App zum Startbildschirm hinzu, und beim nächsten Öffnen ist die Erfahrung noch besser.
Sie können sich Firefox OS sowie ein Beispiel für die Bereitstellung von mehr Plattform-APIs für das Standard-Web ansehen (mit mehr oder weniger Erfolg).
Der Hauptvorteil für native Anwendungen besteht darin, dass sie auf alle nativen APIs zugreifen können, die eine Plattform bieten kann (Kontakte, Kamerablitz, SMS, Telefonie, Netzwerk, Bluetooth, Sensoren, Raw-Sockets ...), während eine progressive Webanwendung (noch) nicht kann. da sie durch die Standard-Webfunktionen eingeschränkt werden.
Das Ziel für progressive Webanwendungen besteht darin, diese Funktionen zu erweitern, um die kritischsten Fälle abzudecken. In dieser Stimmung werfen Sie einen Blick auf Progressive Web Apps: Tabs entkommen, ohne unsere Seele zu verlieren. Dort finden Sie eine Liste der Angebote einer progressiven Webanwendung:
Von diesen Punkten aus war Linkable eines der ersten Merkmale, die von nativen Anwendungen aus dem Open Web in Form von Mobile Deep Linking importiert wurden .
Besondere Erwähnung verdient jedoch die Kombination frisch + installierbar, da sie einen der Hauptvorteile des Web als Plattform gegenüber den nativen Alternativen darstellt. Hier installierbar bedeutet, dass es auf Ihrem Startbildschirm angezeigt wird. Dies bedeutet nicht, dass Sie die Download- und Installationsphasen bestehen müssen. Sie öffnen eine URL oder entdecken einen Dienst beim Surfen und fertig: Es wird auf Ihrem Startbildschirm angezeigt .
Frisch bezieht sich auf die Funktionsweise eines normalen Webs, das ein sofortiges Laden und nahtlose Updates bietet. Du wirst nicht aufgefordert, ein Update aus dem Web von YouTube zu installieren, es wird bereitgestellt und du verbrauchst es beim nächsten Besuch.
Ich spreche nicht über die Vorteile der verbleibenden Punkte, weil Sie nach den Unterschieden gefragt haben und beispielsweise die Wiedereingliederung von nativen Anwendungen über Push-Dienste und Benachrichtigungen bereits erfolgt ist und Webanwendungen jetzt aufgeholt haben.
Eine weitere verwandte und wichtige Frage ist, welche Plattform für Ihre Anforderungen besser geeignet ist. Wenn Sie nicht auf spezielle Hardwarefunktionen zugreifen, sollte das Web ausreichen und Sie das Web auswählen, das Sie frei von Marktplätzen und proprietären Ökosystemen sind. Übrigens können Sie einen bestimmten Grad an Allgegenwart und Interoperabilität sicherstellen .
Als letzte Anmerkung empfehle ich Ihnen, www.flipkart.com von einem Handy mit Chrome aus zu durchsuchen . Es ist ziemlich großartig: keine Fehler, reibungslose Navigation, App-ähnliches Gefühl. Gehen Sie offline und es wird weiter funktionieren. Ein wirklich reales Beispiel für diesen Beitrag. Fügen Sie die App zum Startbildschirm hinzu, und beim nächsten Öffnen ist die Erfahrung noch besser.
Sie können sich Firefox OS sowie ein Beispiel für die Bereitstellung von mehr Plattform-APIs für das Standard-Web ansehen (mit mehr oder weniger Erfolg).
quelle