Frage Welche Funktionen haben Progressive Web Apps gegenüber nativen Apps und umgekehrt, auf Android [geschlossen]


Im Jahr 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 aussehen wird, Hardware des Geräts wie Kamera und Beschleunigungsmesser verwenden, Push-Benachrichtigungen empfangen, ein Launcher-Symbol haben, offline arbeiten, lokale Daten speichern usw.

Welche Funktionen bieten native Apps für Android, die von progressiven Web-Apps nicht unterstützt werden und umgekehrt?


75
2018-02-19 11:27


Ursprung


Antworten:


TL; DR - Progressive Web Apps sind ab Februar 2017 eine ausreichend leistungsfähige Plattform Twitter hat seinen gesamten mobilen Web-Traffic zu einem React PWA verschoben.

Ab August 2016 bieten Progressive Web Apps tatsächlich mehr Hardwarezugriff als allgemein angenommen. Hier ist ein Screenshot von waswebcando.today von meinem Chrome 52 Stable auf Android:

What Web Can Do Today - Chrome 52 on Android

Der Hardwarezugriff beinhaltet

Bevorstehender Hardwarezugriff

Diese Funktionen werden implementiert oder funktionieren bereits in einigen Browsern:

Ein weiterer wichtiger Punkt ist, dass die Ursprungsversuche Rahmen (in Chrome implementiert) ermöglicht es Herstellern, Hardware- (oder Software-) Fähigkeiten freizulegen und zu testen, ohne den Standardisierungsprozess durchlaufen zu müssen. Zum Beispiel könnte ein Telefonhersteller eine API zum Lesen der Werte eines Drucksensors verfügbar machen, sie verfeinern und sie dann dem W3C zur Prüfung vorlegen.

Neben dem Hardware-Zugriff gibt es auch Software-Funktionen, die traditionell von nativen Apps verwendet werden und nun 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önnen heutzutage als PWAs neu geschrieben werden. Nehmen Sie zum Beispiel Slack. Seine Open-Source-Alternative, Rocket.Chat, erstellt eine PWA-Version. Weitere PWA-Demos finden Sie unter https://pwa.rocks.

Native-ähnliche Funktionen kommen zu PWAs

Native Android-Funktionen für PWA noch nicht verfügbar

  • Zugang zum Fingerabdrucksensor (in Entwicklung)
  • Zugriff auf Kontakte, Kalender und Browser-Lesezeichen (fehlender Zugriff auf diese kann als Feature von datenschutzbewussten Nutzern)
  • Alarm
  • Telefoniefunktionen - Abfangen von SMS oder Anrufen, Senden von SMS / MMS, Abrufen der Telefonnummer des Benutzers, Lesen von Voicemail, Telefonieren ohne Dialer-Dialog
  • Low-Level-Zugriff auf einige Hardware-Funktionen und Sensoren: Taschenlampe, Atmosphärendrucksensor
  • Systemzugriff: Aufgabenverwaltung, Änderung der Systemeinstellungen, Protokolle

Progressive Web Apps bieten Funktionen, die native Apps nicht bieten

  • Auffindbarkeit - Inhalte in progressiven Web-Apps können leicht von Suchmaschinen gefunden werden, aber eine inhaltsorientierte native App wie StackOverflow wird nicht in den Suchergebnissen von App-Stores für Inhalte angezeigt, zu denen sie Zugang bietet, wie "pwa vs. native". Dies ist ein Problem für Communities wie Reddit, die ihre zahlreichen Unter-Communities dem App-Store nicht als einzelne "Apps" zur Verfügung stellen können.
  • Verknüpfbarkeit - Jede Seite / Bildschirm kann eine direkte Verbindung haben, die leicht geteilt werden kann
  • Lesezeichen - Speichern Sie diesen Link, um direkt auf die App-Ansicht zuzugreifen
  • immer frisch - Sie müssen nicht durch die App-Stores gehen, um Updates zu pushen
  • universeller Zugang - nicht Gegenstand von App Stores manchmal willkürliche Richtlinien oder (unbeabsichtigt) geografische Einschränkungen
  • große Dateneinsparungen, extrem wichtig in Schwellenländern mit teurem und / oder langsamem Internetzugang. Zum Beispiel, E-Commerce-Website Konga Reduzieren Sie die Datennutzung für 92% beim ersten Laden, indem Sie auf eine PWA migrieren.
  • geringe Reibung der Verteilung - Wenn Ihre progressive Web-App online ist, ist sie bereits für Android- (und andere mobile) Benutzer zugänglich.

Schlussbemerkung: PWAs laufen mit der gleichen Codebasis auf dem Desktop und den meisten mobilen Geräten. Auf Desktopumgebungen (ChromeOS und später Mac und Windows), werden sie wie andere Apps gestartet und in einem normalen App-Fenster ausgeführt (kein Browser-Tab).


134
2017-08-18 21:28



Der Hauptvorteil für native Anwendungen ist, dass sie auf alle nativen APIs zugreifen können, die eine Plattform bieten kann (Kontakte, Kamerablitz, SMS, Telefonie, Netzwerk, Bluetooth, Sensoren, rohe Sockets ...), während eine progressive Webanwendung (noch) nicht da sie durch die Standard-Web-Funktionen eingeschränkt sind.

Das Ziel für progressive Webanwendungen besteht darin, diese Funktionen auf die kritischsten Fälle auszuweiten. In dieser Stimmung werfen Sie einen Blick auf Progressive Web Apps: Escape Tabs ohne unsere Seele zu verlieren wo Sie eine Liste finden können, was eine progressive Webanwendung bieten sollte:

  • Responsive: passt zu jedem Formfaktor
  • Connectivity-unabhängig: Mit Service-Mitarbeitern schrittweise verbessert, damit sie offline arbeiten können
  • App-Like-Interactions: Übernehmen Sie ein Shell + Content-Anwendungsmodell, um Appy-Navigationen und Interaktionen zu erstellen
  • Frisch: Transparent immer auf dem neuesten Stand dank des Service Worker Update-Prozesses
  • Sicher: Wird über TLS (eine Service-Worker-Anforderung) bedient, um das Snooping zu verhindern
  • Sichtbar: Erkennbar als "Anwendungen" dank des W3C-Manifestes und des Service Worker-Registrierungsbereichs, der es Suchmaschinen ermöglicht, sie zu finden
  • Erneut einschaltbar: Kann auf die Re-Engagement-UIs des Betriebssystems zugreifen; z.B. Mitteilungen
  • Installierbar: Auf den Startbildschirm über vom Browser bereitgestellte Eingabeaufforderungen, sodass Benutzer Apps, die ihnen am nützlichsten erscheinen, "behalten", ohne den Aufwand eines App Stores zu benötigen
  • Verknüpfbar: Das bedeutet, dass sie reibungsfrei sind, keine Installation erforderlich und einfach zu teilen sind. Die soziale Stärke von URLs ist wichtig.

Aus diesen Punkten verknüpfbar war eine der ersten Eigenschaften, die von nativen Anwendungen aus dem Open Web in Form von importiert wurden Mobile Deep-Linking.

Aber besondere Erwähnung verdient die Kombination frisch + installierbar wie es einen der Hauptvorteile des Webs als eine Plattform über dem darstellt einheimisch Alternativen. Hier installierbar bedeutet, dass es auf Ihrem Startbildschirm angezeigt wird. Es bedeutet nicht, dass Sie die Download- und Installationsphasen durchlaufen müssen. Sie öffnen eine URL oder entdecken einen Dienst während des Surfens und es ist fertig: Es erscheint auf Ihrem Startbildschirm.

Frisch bezieht sich darauf, wie ein normales Web funktioniert, bietet eine sofortige Last und nahtlose Updates. Sie werden nicht aufgefordert, ein Update aus dem YouTube-Web zu installieren, es wird bereitgestellt und Sie verbrauchen es beim nächsten Besuch.

Ich spreche nicht über die Vorteile der verbleibenden Punkte, weil Sie nach den Unterschieden gefragt haben und beispielsweise die Wiederverwendung nativer Anwendungen bereits über Push-Dienste und Benachrichtigungen erfolgt und Web-Anwendungen jetzt aufgeholt haben.

Eine weitere wichtige Frage ist, welche Plattform für Ihre Bedürfnisse besser geeignet ist. Wenn Sie nicht auf spezielle Hardware-Funktionen zugreifen, sollte das Web genug sein und die Wahl des Internets Sie sind frei von den Marktplätzen, proprietären Ökosystemen und nebenbei bemerkt, können Sie bestimmte Grade der Allgegenwart und gewährleisten Interoperabilität.

Als letzte Anmerkungen empfehle ich Ihnen zu stöbern www.flipkart.com von einem Handy mit Chrome. Es ist ziemlich toll: keine Bugs, reibungslose Navigation, App-ähnliches Gefühl. Gehen Sie offline und es wird weiter funktionieren. Ein wirklich reales Beispiel dieses Posts. Fügen Sie die App zum Startbildschirm hinzu, und wenn Sie das nächste Mal öffnen, ist das Erlebnis noch besser.

Sie können einen Blick darauf werfen Firefox OS sowie ein Beispiel für das Bringen mehr Plattform-APIs zum Standard Web (mit mehr oder weniger Erfolg).


11
2018-02-26 10:52