Pytanie Jakie funkcje mają progresywne aplikacje internetowe w porównaniu z natywnymi aplikacjami i odwrotnie, na systemie Android [zamknięte]


W 2015 roku Google wprowadził nowe podejście do tworzenia aplikacji internetowych na Androida: progresywne aplikacje internetowe. Można stworzyć aplikację, która będzie wyglądać jak natywna aplikacja, będzie mogła korzystać ze sprzętu urządzenia, takiego jak kamera i akcelerometry, odbierać powiadomienia push, mieć ikonę launchera, pracować w trybie offline, przechowywać lokalne dane itp.

Na Androidzie, jakie funkcje aplikacje natywne zapewniają, że progresywne aplikacje internetowe nie obsługują, i na odwrót.


76
2018-02-19 11:27


pochodzenie




Odpowiedzi:


TL; DR - od lutego 2017 r. Progressive Web Apps to wystarczająco potężna platforma Twitter przeniósł cały ruch sieciowy na urządzenia mobilne do React PWA.

Od sierpnia 2016 r. Progresywne aplikacje internetowe oferują więcej dostępu do sprzętu, niż się powszechnie uważa. Oto zrzut ekranu z whatwebcando.today z mojego stabilnego Chrome 52 na Androida:

What Web Can Do Today - Chrome 52 on Android

Dostęp do sprzętu obejmuje

Zbliżający się dostęp do sprzętu

Te funkcje są już implementowane lub działają już w niektórych przeglądarkach:

Kolejnym ważnym punktem, który należy zauważyć, jest to, że Testy początkowe Ramy (zaimplementowane w Chrome) umożliwia producentom eksponowanie i testowanie możliwości sprzętowych (lub programowych) bez konieczności przechodzenia przez proces standaryzacji. Na przykład producent telefonów może ujawnić interfejs API do odczytu wartości czujnika ciśnienia, udoskonalić go, a następnie przesłać go do rozważenia do W3C.

Oprócz dostępu do sprzętu, istnieją również funkcje oprogramowania tradycyjnie wykorzystywane przez aplikacje natywne, które są teraz dostępne dla aplikacji internetowych.

Tradycyjnie natywne funkcje, z których mogą korzystać również PWA

Te funkcje obejmują wiele przypadków użycia, a wiele popularnych aplikacji natywnych można obecnie przepisać jako PWA. Weźmy na przykład Slack. Jego alternatywny open source, Rocket.Chat, buduje wersję PWA. Aby zobaczyć więcej demonstracji PWA, zobacz https://pwa.rocks.

Funkcje podobne do macierzystych przychodzą do PWA

Rodzime funkcje Androida nie jest jeszcze dostępny dla PWA

  • dostęp do czytnika linii papilarnych (w budowie)
  • dostęp do zakładek, zakładek kalendarza i przeglądarki (brak dostępu do nich może być postrzegany jako cecha przez użytkowników dbających o prywatność)
  • alarmy
  • funkcje telefoniczne - przechwytywanie wiadomości SMS lub połączeń, wysyłanie wiadomości SMS / MMS, pobieranie numeru telefonu użytkownika, odczytywanie poczty głosowej, wykonywanie połączeń telefonicznych bez okna dialogowego programu Dialer
  • niskopoziomowy dostęp do niektórych funkcji sprzętowych i czujników: latarka, czujnik ciśnienia atmosferycznego
  • dostęp do systemu: zarządzanie zadaniami, modyfikowanie ustawień systemu, logi

Progresywne aplikacje internetowe oferują funkcje, których brakuje natywnym aplikacjom

  • odkrywczość - zawartość progresywnych aplikacji internetowych może być łatwo znaleziona przez wyszukiwarki, ale natywna aplikacja zorientowana na treść, taka jak StackOverflow, nie pojawi się wśród wyników wyszukiwania w sklepie z aplikacjami dla treści, do których ma dostęp, takich jak "pwa kontra natywny". Jest to problem dla społeczności takich jak Reddit, które nie mogą wystawiać swoich licznych pod-społeczności na sklep z aplikacjami jako indywidualne "aplikacje".
  • łączność - dowolna strona / ekran może mieć bezpośredni link, który można łatwo udostępnić
  • bookmarkability - zapisz ten link, aby uzyskać bezpośredni dostęp do widoku aplikacji
  • zawsze świeży - nie trzeba przechodzić przez sklepy z aplikacjami, aby przesyłać aktualizacje
  • uniwersalny dostęp - nie podlegają sklepom z aplikacjami czasami arbitralne polityki lub (niezamierzony) ograniczenia geograficzne
  • duże oszczędności danych, niezwykle ważna na rynkach wschodzących z drogim i / lub powolnym dostępem do Internetu. Na przykład witryna e-commerce Konga Zmniejsz zużycie danych o 92% przy pierwszym obciążeniu poprzez migrację do PWA.
  • niskie tarcie rozkładu - jeśli twoja progresywna aplikacja internetowa jest online, jest już dostępna dla użytkowników Androida (i innych urządzeń mobilnych).

Ostatnia uwaga: PWA uruchamiane z tą samą bazą kodową na pulpicie, jak również na większości urządzeń mobilnych. W środowisku komputerowym (ChromeOS i później Mac i Windows), są uruchamiane w taki sam sposób jak inne aplikacje i uruchamiane w zwykłym oknie aplikacji (bez karty przeglądarki).


134
2017-08-18 21:28



Niewielka uwaga: w przypadku "Aplikacji błyskawicznych na Androida" można argumentować, że aplikacje natywne (przynajmniej na Androida) nie mają już możliwości powiązania. - shawnjan
Dobra odpowiedź Dan! Czy istnieje sposób na uzyskanie przez PWA dostępu do numeru telefonu urządzenia hosta? - Alexander Mills
@Alexander: nie (patrz punkt "cechy telefoniczne"), ponieważ byłoby naruszeniem prywatności. Rozważ użycie autouzupełnianie zamiast. - Dan Dascalescu


Główną zaletą aplikacji natywnych jest to, że mogą one uzyskać dostęp do wszystkich natywnych interfejsów API oferowanych przez platformę (kontakty, flash aparatu, SMS, telefon, sieć, bluetooth, czujniki, gniazda raw ...), podczas gdy progresywna aplikacja internetowa nie może (jeszcze) ponieważ są ograniczone możliwościami standardowej sieci.

Celem progresywnych aplikacji internetowych jest rozszerzenie tych możliwości w celu pokrycia najbardziej krytycznych przypadków. W tym nastroju, spójrz na Progresywne aplikacje internetowe: tabulatory uciekające bez utraty naszej duszy gdzie można znaleźć listę tego, co powinna zaoferować progresywna aplikacja internetowa:

  • Responsywny: dopasowany do dowolnego rozmiaru formularza
  • Niezależność od połączeń: stopniowo ulepszana przez pracowników serwisowych, aby umożliwić im pracę w trybie offline
  • Interakcje typu App: Adoptuj model aplikacji Shell + Content, aby tworzyć nawigacje i interakcje w aplikacji
  • Świeże: przejrzyste i zawsze aktualne dzięki procesowi aktualizacji Service Worker
  • Bezpieczny: obsługiwany przez TLS (wymaganie Service Worker), aby zapobiec podsłuchom
  • Discoverable: są identyfikowalne jako "aplikacje" dzięki zakresowi Manifesty W3C i zakresowi rejestracji pracowników serwisowych, umożliwiając wyszukiwarkom ich znalezienie
  • Ponowne angażowanie: może uzyskać dostęp do interfejsów użytkownika ponownego uruchomienia systemu operacyjnego; na przykład Powiadomienia push
  • Do zainstalowania: na ekranie głównym za pomocą podpowiedzi wyświetlanych w przeglądarce, dzięki czemu użytkownicy mogą "przechowywać" aplikacje, które uznają za najbardziej przydatne bez kłopotów ze sklepem z aplikacjami
  • Linkable: co oznacza, że ​​są zerowe, zero-instalacyjne i łatwe do udostępnienia. Społeczna siła adresów URL ma znaczenie.

Z tych punktów łączone była jedną z pierwszych cech importowanych przez aplikacje natywne z Open Web w postaci mobilne precyzyjne linki.

Ale specjalna wzmianka zasługuje na combo świeży + instalowalny ponieważ stanowi jedną z głównych zalet sieci jako platformy nad ojczysty alternatywy. Tutaj instalowalny oznacza, że ​​pojawia się na ekranie głównym. Nie oznacza to, że musisz przejść etapy pobierania i instalacji. Otwierasz URL lub odkrywasz usługę podczas przeglądania i gotowe: pojawia się na ekranie głównym.

Świeży odnosi się do sposobu działania zwykłej sieci, oferując natychmiastowe ładowanie i bezproblemowe aktualizacje. Nie musisz instalować aktualizacji w sieci YouTube, jest ona wdrażana i zużywasz ją przy następnym odwiedzeniu.

Nie mówię o korzyściach z pozostałych punktów, ponieważ prosiłeś o różnice, a na przykład ponowne zaangażowanie jest czymś, co aplikacje natywne już posiadają za pośrednictwem usług push i powiadomień, a teraz aplikacje internetowe się dogoniły.

Inne powiązane i kluczowe pytanie dotyczy tego, która platforma jest bardziej odpowiednia dla twoich potrzeb. Jeśli nie masz dostępu do specjalnych funkcji sprzętowych, sieć powinna wystarczyć i wybierając sieć, jesteś wolny od rynków, zastrzeżonych ekosystemów, a przy okazji możesz zapewnić pewien stopień wszechobecności i interoperacyjność.

Jako uwagi końcowe, polecam przeglądać www.flipkart.com z telefonu komórkowego z Chrome. To niesamowite: brak błędów, płynna nawigacja, wrażenie aplikacji. Przejdź do trybu offline i będzie działać. Naprawdę prawdziwy przykład tego postu na świecie. Dodaj aplikację do ekranu głównego i następnym razem, gdy ją otworzysz, doświadczenie będzie jeszcze lepsze.

Możesz rzucić okiem Firefox OS jak również przykład przyniesienia więcej interfejsów API platformy do standardowej sieci (z mniejszym lub większym sukcesem).


11
2018-02-26 10:52



PWA mogą rzeczywiście uzyskać dostęp do kamery, jak również kilka czujników. - Dan Dascalescu