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?

Antworten:


200

TL; DR - Seit Februar 2017 sind Progressive Web Apps eine ausreichend leistungsfähige Plattform, auf der Twitter den gesamten mobilen Webverkehr auf eine React PWA verlagert hat .

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:

Was das Web heute kann - Chrome 52 auf Android

Hardware-Zugriff beinhaltet

Bevorstehender Hardware-Zugriff

Diese Funktionen werden in einigen Browsern implementiert oder funktionieren bereits:

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

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 .

Native-ähnliche Funktionen für PWAs

Native Android-Funktionen , die PWAs noch nicht zur Verfügung stehen

  • Zugriff auf den Fingerabdrucksensor ( in Entwicklung )
  • 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
  • Universeller Zugriff - nicht von App Stores abhängig, manchmal willkürliche Richtlinien oder (unbeabsichtigte) geografische Einschränkungen
  • Große Dateneinsparungen , äußerst wichtig in aufstrebenden Märkten mit teurem und / oder langsamem Internetzugang. Beispielsweise reduzierte die E-Commerce-Website Konga die Datennutzung beim ersten Laden um 92%, indem sie auf eine PWA migrierte .
  • 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).


1
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 .
Dan Dascalescu


12

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).


PWAs können tatsächlich auf die Kamera sowie auf mehrere Sensoren zugreifen .
Dan Dascalescu
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.