Jakie funkcje mają progresywne aplikacje internetowe w porównaniu z aplikacjami natywnymi i odwrotnie w systemie Android [zamknięte]
112
W 2015 roku firma Google wprowadziła nowe podejście do tworzenia aplikacji internetowych na Androida: progresywne aplikacje internetowe . Można stworzyć aplikację, która będzie wyglądać jak aplikacja natywna, będzie mogła korzystać ze sprzętu urządzenia, takiego jak kamera i akcelerometry, otrzymywać powiadomienia push, mieć ikonę programu uruchamiającego, pracować w trybie offline, przechowywać dane lokalne itp.
Jakie funkcje zapewniają aplikacje natywne w systemie Android, których progresywne aplikacje internetowe nie obsługują i na odwrót.
Od sierpnia 2016 r. Progresywne aplikacje internetowe oferują większy dostęp do sprzętu, niż się powszechnie uważa. Oto zrzut ekranu tego, co dziś webcando.z mojej stabilnej wersji Chrome 52 na Androida:
Dostęp do sprzętu obejmuje
geolokalizacja - obsługiwana w zdecydowanej większości przeglądarek
Kolejną ważną kwestią, na którą należy zwrócić uwagę, jest to, że Origin Trials Framework ( wdrożony w Chrome ) umożliwia producentom ujawnianie i testowanie możliwości sprzętu (lub oprogramowania) bez konieczności przechodzenia przez proces standaryzacji. Na przykład producent telefonu może udostępnić API do odczytywania wartości czujnika ciśnienia, udoskonalić go, a następnie przesłać do rozpatrzenia 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ą również korzystać PWA
pojawiające się na liście aplikacji dzięki aplikacjom WebAPK - progresywne aplikacje internetowe można teraz spakować do rzeczywistych, instalowalnych pakietów Androida!
„Najważniejszym wnioskiem jest to, że chociaż wciąż istnieją obszary, w których WebGL działa znacznie wolniej niż kod natywny, ogólnie można już oczekiwać bardzo przyzwoitej wydajności, a to może być tylko lepsze w przyszłości”.
Te funkcje obejmują wiele przypadków użycia, a wiele popularnych aplikacji natywnych można obecnie przepisać na PWA. Weźmy na przykład Slack. Jego alternatywa open source, Rocket.Chat, buduje wersję PWA . Więcej demonstracji PWA można znaleźć na stronie https://pwa.rocks .
dostęp do kontaktów, kalendarza i zakładek przeglądarki (brak dostępu do nich może być postrzegany jako funkcja przez użytkowników dbających o prywatność)
alarmy
funkcje telefoniczne - przechwytywanie SMS-ów lub połączeń, wysyłanie SMS-ów / MMS-ów, uzyskiwanie numeru telefonu użytkownika, odczytywanie poczty głosowej, wykonywanie połączeń telefonicznych bez okna 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, modyfikacja ustawień systemu, logi
Progresywne aplikacje internetowe oferują funkcje, których brakuje aplikacjom natywnym
wykrywalność - zawartość w progresywnych aplikacjach internetowych może być łatwo znaleziona przez wyszukiwarki, ale natywna aplikacja zorientowana na zawartość, taka jak StackOverflow, nie wyświetla się wśród wyników wyszukiwania w sklepie z aplikacjami dla treści, do których oferuje dostęp, np. „pwa vs. natywna”. Jest to problem dla społeczności takich jak Reddit, które nie mogą ujawniać swoich licznych pod-społeczności w sklepie z aplikacjami jako indywidualnych „aplikacji”.
możliwość łączenia - każda 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że - nie ma potrzeby przechodzenia do sklepów z aplikacjami w celu przesyłania aktualizacji
niskie tarcie w dystrybucji - jeśli Twoja progresywna aplikacja internetowa jest online, jest już dostępna dla użytkowników Androida (i innych urządzeń mobilnych).
Uwaga końcowa: PWA działają z tym samym kodem na komputerach stacjonarnych, a także na większości urządzeń mobilnych. W środowiskach komputerowych (ChromeOS, a później Mac i Windows) są uruchamiane w taki sam sposób, jak inne aplikacje i działają w zwykłym oknie aplikacji (bez karty przeglądarki).
Mała uwaga: w przypadku „Aplikacji błyskawicznych na Androida” można argumentować, że aplikacjom natywnym (przynajmniej na Androida) nie brakuje już możliwości łączenia.
shawnjan,
Dobra odpowiedź Dan! Czy istnieje sposób, aby PWA uzyskały dostęp do numeru telefonu urządzenia hosta?
Alexander Mills,
@Alexander: nie (zobacz punkt „funkcje telefoniczne”), ponieważ byłoby to naruszenie prywatności. Zamiast tego rozważ użycie autouzupełniania .
Główną zaletą aplikacji natywnych jest to, że mają dostęp do wszystkich natywnych API, które platforma może zaoferować (kontakty, lampa błyskowa aparatu, SMS, telefonia, sieć, bluetooth, czujniki, surowe gniazda ...), podczas gdy progresywna aplikacja internetowa nie może (jeszcze) ponieważ są ograniczone przez możliwości standardowej sieci WWW.
Celem progresywnych aplikacji internetowych jest rozszerzenie tych możliwości, aby obejmowały najbardziej krytyczne przypadki. W tym nastroju spójrz na progresywne aplikacje internetowe: ucieczka z kart bez utraty duszy, gdzie znajdziesz listę tego, co powinna oferować progresywna aplikacja internetowa:
Czuły: pasuje do każdego formatu
Niezależność od łączności: stopniowo wzbogacana o elementy Service Workers, aby umożliwić im pracę w trybie offline
Interakcje podobne do aplikacji: zastosuj model aplikacji Shell + Content, aby tworzyć nawigacje i interakcje aplikacji
Świeżość: przejrzysta i zawsze aktualna dzięki procesowi aktualizacji Service Worker
Bezpieczne: obsługiwane przez TLS (wymaganie Service Workera), aby zapobiec szpiegowaniu
Wykrywalne: są identyfikowalne jako „aplikacje” dzięki manifestom W3C i zakresowi rejestracji Service Workera, który pozwala wyszukiwarkom je znaleźć
Możliwość ponownego włączenia: może uzyskać dostęp do interfejsów użytkownika systemu operacyjnego ponownego zaangażowania; np. powiadomienia push
Możliwość instalacji: na ekranie głównym za pośrednictwem monitów w przeglądarce, umożliwiając użytkownikom „zachowanie” aplikacji, które uznają za najbardziej przydatne, bez kłopotów związanych z sklepem z aplikacjami
Możliwość łączenia: co oznacza, że nie powodują tarcia, nie wymagają instalacji i są łatwe do udostępnienia. Liczy się społeczna siła adresów URL.
Z tych punktów, skorelowane był jednym z pierwszych cech importowanych przez natywnych aplikacji z otwartych sieci w postaci mobilnej głębokiego linkowania .
Ale na szczególną uwagę zasługuje kombinacja świeżo + instalowalna, ponieważ stanowi jedną z głównych zalet sieci jako platformy w porównaniu z natywnymi alternatywami. Tutaj do zainstalowania oznacza, że pojawia się na ekranie głównym. Nie oznacza to, że musisz przejść etapy pobierania i instalacji. Otwierasz adres URL lub odkrywasz usługę podczas przeglądania i gotowe: pojawia się na ekranie głównym .
Fresh odnosi się do sposobu działania zwykłej sieci, oferując natychmiastowe ładowanie i bezproblemowe aktualizacje. Nie jesteś proszony o zainstalowanie aktualizacji z sieci YouTube, jest ona wdrażana i zużywa się ją przy następnej wizycie.
Nie mówię o korzyściach płynących z pozostałych punktów, ponieważ prosiłeś o różnice i na przykład ponowne zaangażowanie jest czymś, co natywne aplikacje już mają za pośrednictwem usług push i powiadomień, a teraz aplikacje internetowe nadrobiły zaległości.
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 możliwości sprzętowych, internet powinien wystarczyć i wybierając sieć jesteś wolny od rynków, zastrzeżonych ekosystemów, a przy okazji możesz zapewnić pewien stopień powszechności i interoperacyjności .
Na koniec polecam przeglądanie www.flipkart.com na telefonie komórkowym z Chrome. Jest niesamowity: bez błędów, płynna nawigacja, uczucie przypominające aplikację. Przejdź do trybu offline i będzie nadal działać. Prawdziwy przykład tego postu. Dodaj aplikację do ekranu głównego, a następnym razem, gdy ją otworzysz, będzie jeszcze lepsze.
Główną zaletą aplikacji natywnych jest to, że mają dostęp do wszystkich natywnych API, które platforma może zaoferować (kontakty, lampa błyskowa aparatu, SMS, telefonia, sieć, bluetooth, czujniki, surowe gniazda ...), podczas gdy progresywna aplikacja internetowa nie może (jeszcze) ponieważ są ograniczone przez możliwości standardowej sieci WWW.
Celem progresywnych aplikacji internetowych jest rozszerzenie tych możliwości, aby obejmowały najbardziej krytyczne przypadki. W tym nastroju spójrz na progresywne aplikacje internetowe: ucieczka z kart bez utraty duszy, gdzie znajdziesz listę tego, co powinna oferować progresywna aplikacja internetowa:
Z tych punktów, skorelowane był jednym z pierwszych cech importowanych przez natywnych aplikacji z otwartych sieci w postaci mobilnej głębokiego linkowania .
Ale na szczególną uwagę zasługuje kombinacja świeżo + instalowalna, ponieważ stanowi jedną z głównych zalet sieci jako platformy w porównaniu z natywnymi alternatywami. Tutaj do zainstalowania oznacza, że pojawia się na ekranie głównym. Nie oznacza to, że musisz przejść etapy pobierania i instalacji. Otwierasz adres URL lub odkrywasz usługę podczas przeglądania i gotowe: pojawia się na ekranie głównym .
Fresh odnosi się do sposobu działania zwykłej sieci, oferując natychmiastowe ładowanie i bezproblemowe aktualizacje. Nie jesteś proszony o zainstalowanie aktualizacji z sieci YouTube, jest ona wdrażana i zużywa się ją przy następnej wizycie.
Nie mówię o korzyściach płynących z pozostałych punktów, ponieważ prosiłeś o różnice i na przykład ponowne zaangażowanie jest czymś, co natywne aplikacje już mają za pośrednictwem usług push i powiadomień, a teraz aplikacje internetowe nadrobiły zaległości.
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 możliwości sprzętowych, internet powinien wystarczyć i wybierając sieć jesteś wolny od rynków, zastrzeżonych ekosystemów, a przy okazji możesz zapewnić pewien stopień powszechności i interoperacyjności .
Na koniec polecam przeglądanie www.flipkart.com na telefonie komórkowym z Chrome. Jest niesamowity: bez błędów, płynna nawigacja, uczucie przypominające aplikację. Przejdź do trybu offline i będzie nadal działać. Prawdziwy przykład tego postu. Dodaj aplikację do ekranu głównego, a następnym razem, gdy ją otworzysz, będzie jeszcze lepsze.
Możesz spojrzeć na Firefox OS, a także na przykład wprowadzenia większej liczby interfejsów API platformy do standardowej sieci (z większym lub mniejszym sukcesem).
źródło