Co to jest progresywna aplikacja internetowa dla systemu IOS [zamknięte]

79

Zastanawiałem się, jakie jest rozwiązanie progresywnej aplikacji internetowej dla urządzeń z systemem IOS, ponieważ ich domyślna przeglądarka SAFARI nie obsługuje jeszcze progresywnych aplikacji internetowych. Jaka jest zatem alternatywa dla odpowiedników IOS?

Manjari
źródło
1
Gratuluję pierwszego pytania. Jak być może wiesz, jednym z wielu wymagań dotyczących Progressive Web App (PWA) jest obsługa pracowników usług w przeglądarce. Niestety Safari nie obsługuje Service Workers, więc jedyną alternatywą są aplikacje natywne lub zwykła witryna internetowa.
José Luis
1
Kontynuując @ JoséLuis, PWA powinien być zgodny z zasadą stopniowego ulepszania i dlatego powinien być wstecznie kompatybilny z Safari i iOS. Oznacza to, że podstawowe funkcje powinny być nadal dostępne, a aplikacja jest stopniowo ulepszana w miarę udostępniania nowych funkcji w przeglądarce lub systemie operacyjnym.
Kevin Farrugia,
2
Zobacz moją odpowiedź poniżej. Napisałem artykuł wzywający Apple. Wywołało to spore zamieszanie na Twitterze i wiadomościach hakerów. Tydzień później w końcu zaczęli nad nim pracować!
Greg Blass
2
Wreszcie, Apple dodał obsługę pracownika serwisu w swoim TP. Możesz przeczytać więcej o obsłudze PWA w Safari tutaj medium.com/awebdeveloper/ ...
aWebDeveloper
1
Naprawdę muszę powiedzieć, że zamknięcie tego jako zbyt szerokiego jest bardzo głupie. Poważnie! Czemu? Dlaczego miałbyś zamknąć tak ważne pytanie? Po prostu rozwala mi umysł.
Greg Blass

Odpowiedzi:

97

Należy pamiętać, że „Przeglądarki obsługujące progresywne aplikacje internetowe” nie jest terminem rzeczywistym, samo PWA to zestaw funkcji, które aplikacja internetowa może zapewnić użytkownikom. Więc nie chodzi tylko o Service Worker i App Manifest.

Zobacz: Podstawowa lista kontrolna PWA .

Oto, co możesz zrobić, aby osiągnąć PWA na iOS / Safari w momencie tworzenia tej odpowiedzi:

  • Witryna jest obsługiwana przez HTTPS ✅
  • Strony są responsywne na tabletach i urządzeniach mobilnych ✅
  • Początkowy adres URL ładuje się (przynajmniej) w trybie offline 🚫
  • Metadane dostępne dla opcji Dodaj do ekranu głównego ✅❗️
  • Pierwsze ładowanie jest szybkie nawet w sieci 3G ✅
  • Witryna działa w różnych przeglądarkach ✅
  • Nie wydaje się, aby przejścia stron blokowały się w sieci ✅
  • Każda strona ma adres URL ✅

Jak widać, prawie wszystko działa, nawet jeśli Twoja strona nie może działać w trybie offline na iOS / Safari, nadal istnieje ogromna korzyść z „uaktualnienia” Twojej aplikacji internetowej do PWA.

To, czego naprawdę potrzebujesz, to nie wymyślny tytuł „Progresywne aplikacje internetowe”, ale dobra aplikacja internetowa, która zapewnia użytkownikom dobre wrażenia i funkcje. To podróż, którą możesz osiągnąć każdą małą częścią, dlatego nazywa się ją „Progresywną”.

Uwaga dotycząca opcji „Dodaj do ekranu głównego: Safari ma własną specyfikację„ ikony ekranu głównego ”, która jest nazywana apple-mobile-web-app-capabletagami meta. Generator manifestu aplikacji sieci Web ma funkcję zastępczą dla systemu iOS, która używa tych metatagów.

TrungDQ
źródło
7
Dzięki wyżej wymienionym funkcjom i bez `` Service Workers '' po prostu tworzysz szybką i responsywną aplikację internetową! Aplikacje natywne to znacznie więcej !!
Abhishek Nalin
1
downvote użytkownik proszony o iOS odpowiedź brzmi tak ogólnie
Fareed Alnamrouti
Metadane dostępne dla opcji Dodaj do ekranu głównego ✅❗️ Nie działa. Czy możesz rozwinąć?
Profer
76

EDYCJA 3:

Pracownicy serwisowi wysłali w Safari na iOS 30 marca 2018 roku!

EDYCJA 2:

Deweloper Apple, Ricky Mondello, napisał na Twitterze 24 stycznia 2018 roku:

https://twitter.com/rmondello/status/956256845311590400

„iOS 11.3 i macOS 10.13.4 zawierają Service Workers - potężną specyfikację, która umożliwia skryptom działającym w tle obsługę aplikacji internetowych offline. iOS 11.3 konsultuje się również z Web App Manifest podczas dodawania aplikacji internetowych do ekranu głównego”.

Niesamowite!

Nie ma jeszcze ani słowa o powiadomieniach push, ale wciąż niesamowita wiadomość.

EDYTOWAĆ:

Napisałem artykuł wzywający Apple na ten temat:

https://m.phillydevshop.com/apples-refusal-to-support-progressive-web-apps-is-a-serious-detriment-to-future-of-the-web-e81b2be29676

Został opublikowany w wiadomościach dla hakerów i dobrze widoczny na Twitterze. Tydzień później zaczęli nad nim pracować. Więc - bądźcie czujni, wydaje się, że wreszcie jest na dobrej drodze!


ORYGINALNA ODPOWIEDŹ:

„Więc nie chodzi tylko o Service Worker i App Manifest”.

Moim zdaniem o to właśnie chodzi w PWA - o pracownik serwisu. To właśnie pozwala ci robić wszystkie niesamowite rzeczy, które umożliwiają PWA. Linia bazowa była możliwa do osiągnięcia już od dawna i chociaż Google technicznie ustaliło ją jako klasyfikację bazową, to nie są tym, co naprawdę sprawia, że ​​PWA jest tym, czym jest. Poza tym jest to zwykła responsywna aplikacja internetowa w mojej książce.

Oto lista rzeczy, których nadal nie możesz zrobić z mobilnym safari z powodu odmowy wsparcia ich przez Apple (ponieważ stracą pieniądze ze sklepu z aplikacjami):

  • Utwórz ekran ładowania aplikacji
  • Korzystaj z powiadomień push
  • Dodaj obsługę offline
  • Utwórz początkowy interfejs aplikacji, aby ładować się natychmiast
  • Szybka instalacja na ekranie głównym za pośrednictwem okna dialogowego prowadzonego przez przeglądarkę

Zaakceptowana odpowiedź naprawdę przedstawia tutaj zły obraz. Doprowadziłem do granic możliwości „rodzimego” jabłka, jak doświadczenie mobilnego safari, i nadal jest dość złe. Doświadczyłem wielu problemów z trybem pełnoekranowym mobilnego safari, a Apple po prostu ich nie obchodzi. Jest traktowany jak obywatel drugiej kategorii, ponieważ nie generuje pieniędzy tak, jak robi to sklep z aplikacjami.

Zauważysz, że jeśli dodasz nową i niesamowitą witrynę mobilną Twittera opartą na reakcji / redukcjix do ekranu głównego na iOS, nie otworzy się ona w trybie pełnoekranowym. Podejrzewam, że jest to z tych samych powodów, które znalazłem - mnóstwo błędów, a nikt z zespołu Apple nad nimi nie pracuje.

Ekran ładowania, który był kiedyś możliwy w trybie pełnoekranowym iOS, który był dostępny w manifeście aplikacji internetowej, w tajemniczy sposób przestał działać, bez żadnych komentarzy ze strony Apple na ich forach do postów na ten temat. A konieczność mówienia użytkownikom: „O, hej, po prostu kliknij udostępnij, a następnie przesuń do„ Dodaj do ekranu głównego ”, to okropny sposób na załatwianie spraw.

To smutny stan rzeczy. Lista w aktualnie zaakceptowanej odpowiedzi powinna naprawdę nosić nazwę „Baseline Responsive Web App List”.

I odpowiadając na pytanie tutaj - nie, nie ma alternatywy i nic nie możesz zrobić. Musisz zagrać w grę Apple, zapłacić 100 USD, aby uzyskać dostęp do sklepu z aplikacjami, nauczyć się zupełnie innego i bardziej złożonego języka programowania oraz mieć całkowicie oddzielną bazę kodu.

Właśnie spędziłem 6 miesięcy na nauce React Native dla projektu klienta i było to niesamowite. Gorąco polecam. Możesz tworzyć prawdziwie natywne aplikacje za pomocą JavaScript i udostępniać swój kod między iOS i Androidem.

Żeby było jasne, nie jestem przeciwny Apple. Używam iPhone'a i rozwijam się na Macu. Ale ten aspekt ich strategii biznesowej jest z pewnością wstydem.

Greg Blass
źródło
1
Uważam Swift / Xcode za najłatwiejszy w użyciu język / IDE na rynku. Zbudowali nowoczesny język programisty i nowy paradygmat, programowanie zorientowane na protokoły, które rozwiązuje wiele problemów związanych z wielokrotnym dziedziczeniem. Fakt, że nie próbowali rozszerzyć jego zastosowania poza własne produkty, jest wstydem, ale nazwanie go bardziej złożonym w porównaniu z TypeScript / JavaScript byłoby mylące. Myślę, że TypeScript to brzydki bandyta, który nakładają na brzydki język. Chciałbym, żeby przeglądarki internetowe mówiły szybko.
Ryan Dines
Ktoś wspomniał mi o tym samym w moim artykule. Zredagowałem go, aby powiedzieć bardziej „rozwlekły”. Ale masz rację - prawdopodobnie jestem stronniczy, pochodząc z sieci. Ale zespoły Facebooka były w stanie iterować w sieci 5 razy szybciej niż aplikacje natywne, dlatego stworzyły React Native - więc myślę, że jest to zasługa.
Greg Blass