web-dev-qa-db-fra.com

Qu'est-ce qu'une solution Web progressive pour IOS

Je me demandais quelle était la solution de l'application Web progressive pour les appareils IOS puisque leur navigateur par défaut, SAFARI, ne prend pas encore en charge les applications Web progressives. Quel est l’alternatif pour les IOS contreparties?

77
Manjari

Veuillez noter que "Navigateurs prenant en charge les applications Web progressives" n'est pas un terme réel. PWA est en soi un ensemble de fonctionnalités qu'une application Web peut fournir aux utilisateurs. Il ne s’agit donc pas uniquement du service ouvrier et du manifeste des applications.

Départ: liste de contrôle de base de PWA .

Voici ce que vous pouvez faire pour atteindre le PWA sur iOS/Safari au moment où cette réponse est créée:

  • Le site est desservi par HTTPS
  • Les pages sont réactives sur les tablettes et les appareils mobiles
  • L'URL de départ (au moins) se charge en mode hors connexion ????
  • Métadonnées fournies pour Ajouter à l'écran d'accueil
  • La première charge est rapide même en 3G
  • Le site fonctionne avec plusieurs navigateurs ✅
  • Les transitions de page ne semblent pas bloquer sur le réseau network
  • Chaque page a une URL ✅

Comme vous pouvez le constater, presque tout fonctionne, même si votre page ne peut pas fonctionner hors connexion sur iOS/Safari, la mise à niveau de votre application Web en un PWA présente un avantage considérable.

Ce que vous voulez vraiment, ce n'est pas le titre sophistiqué de "Progressive Web Apps", mais une bonne application Web qui offre une bonne expérience et des fonctionnalités intéressantes pour les utilisateurs. C'est un voyage que vous pouvez accomplir par chaque petite partie, c'est pourquoi on l'appelle "progressif".

Remarque sur "Ajouter à l'écran d'accueil: Safari a ses propres spécifications pour" l'icône de l'écran d'accueil "appelée Apple-mobile-web-app-capable dans les balises META. Générateur de manifeste d'application Web = a un repli pour iOS utilisant ces balises méta.

94
TrungDQ

EDIT 3:

Les employés de service ont expédié Safari pour iOS le 30 mars 2018!

EDIT 2:

Un développeur Apple du nom de Ricky Mondello a tweeté ceci le 24 janvier 2018:

https://Twitter.com/rmondello/status/9562568453115904

"iOS 11.3 et macOS 10.13.4 incluent Service Workers - une spécification puissante qui permet aux scripts d'arrière-plan d'alimenter des applications Web hors ligne. iOS 11.3 consulte également le manifeste d'applications Web lors de l'ajout d'applications Web à l'écran d'accueil."

Impressionnant!

Pas encore de mot de notifications Push, mais encore des nouvelles étonnantes.

EDIT:

J'ai écrit un article appelant Apple sur le sujet:

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

Il a été posté dans les news des hackers et a eu une bonne visibilité sur Twitter. Une semaine plus tard, ils ont commencé le développement. Alors, restez à l'écoute, il semble enfin être en route!


RÉPONSE ORIGINALE:

"Donc, il ne s'agit pas uniquement de Service Worker et du manifeste des applications."

À mon avis, c’est exactement ce qu’est un PWA: le technicien. C'est ce qui vous permet de faire toutes les choses impressionnantes rendues possibles par les PWA. La base de référence est possible depuis longtemps et, bien que Google l’ait techniquement établie en tant que classification de base, ce n’est pas ce qui fait vraiment du PWA ce qu’il est. Sinon, ce n'est qu'une application Web réactive régulière dans mon livre.

Voici une liste de choses que vous ne pouvez toujours pas faire avec Safari mobile en raison du refus d'Apple de les prendre en charge (car elles perdront de l'argent sur l'App Store):

  • Créer un écran de chargement d'application
  • Utiliser les notifications push
  • Ajouter un support hors ligne
  • Créer une interface utilisateur d'application initiale à charger instantanément
  • Installation rapide sur l'écran d'accueil via une boîte de dialogue guidée par un navigateur

La réponse acceptée décrit vraiment la mauvaise image ici. J'ai poussé le Apple "natif" comme une expérience dans un safari mobile à la limite, et c'est quand même assez mauvais. J'ai rencontré de nombreux problèmes avec le mode plein écran de safari mobile et Apple ne s'en souciait pas. C'est traité comme un citoyen de deuxième classe, car il ne génère pas d'argent comme le fait l'App Store.

Vous remarquerez que si vous ajoutez le nouveau et génial site mobile basé sur les réactions/redux de Twitter à votre écran d'accueil sur iOS, celui-ci ne s'ouvre pas en mode plein écran. Je soupçonne que c'est pour les mêmes raisons que j'ai trouvées - de nombreux bugs sans qu'aucun membre de l'équipe Apple ne travaille sur eux.

L'écran de chargement qui était autrefois possible en mode plein écran iOS et qui était disponible dans le manifeste de l'application Web a mystérieusement cessé de fonctionner, sans aucun commentaire de Apple dans leurs forums sur des articles sur le sujet. Et devoir dire aux utilisateurs: "Oh, salut, il suffit de cliquer sur le partage, puis de glisser sur" Ajouter à l'écran d'accueil "est une façon horrible de devoir faire les choses.

C'est un triste état de choses. La liste dans la réponse acceptée actuelle doit vraiment s'appeler "Liste d'applications Web réactives de base".

Et pour répondre à la question ici - non, il n'y a pas d'alternative et vous ne pouvez rien faire. Vous devez jouer au jeu d'Apple, payer 100 USD pour accéder à l'App Store, apprendre un langage de programmation complètement différent et plus complexe et conserver une base de code complètement distincte.

Je viens de passer 6 mois à apprendre React pour un projet client, et ce fut génial. Je le recommande fortement. Vous pouvez créer des applications véritablement natives à l'aide de JavaScript et partager votre base de code entre iOS et Android.

Pour être clair, je ne suis pas anti-Apple. J'utilise un iPhone et développe sur un Mac. Mais cet aspect de leur stratégie commerciale est certainement une honte.

74
Greg Blass