Progressive Web Apps : les différences entre iOS et Android

De Lionel Dangelo dans Technique

30 avr 2018

La version 11.3 d’iOS a récemment vu le jour avec un support plus complet (enfin !) des Progressive Web Apps. En effet, jusqu’à présent, Apple était très en retard par rapport à Google avec la prise en charge de certaines fonctionnalités. Le temps est donc venu de faire un état des lieux autour de cette technologie et de comparer les différences de compatibilités entre iOS et Android. Si ce n’est pas encore fait, je vous invite à lire notre précédent article sur les PWA http://tekcollab.imdeo.com/progressive-web-apps-pwa/




Une Progressive Web App, c’est quoi ?

Pour rappel, une Progressive Web App, ou PWA, est à mi-chemin entre une application et un site web. Une PWA se base sur des technologies web, mais ne nécessite aucun packaging/signature comme le nécessite une application mobile. Selon le navigateur et le système sur laquelle elle est exécutée, elle peut fonctionner en mode hors ligne, faire des synchronisations en arrière plan, recevoir des notifications ou encore être installée sur le dashboard d’un téléphone avec une icône, comme une application classique.

Aucune soumission sur les stores n’est nécessaire de la part des développeurs, même si depuis peu, Microsoft permet la soumission des PWA directement sur le Windows Store (https://blogs.windows.com/msedgedev/2018/02/06/welcoming-progressive-web-apps-edge-windows-10/).

 

iOS 11.3 : les nouveautés

 

Avant la version 11.3, les PWA étaient déjà, en partie, fonctionnelles sur iOS grâce à certaines astuces et les options manquantes n’étaient pas forcément bloquantes. D’ailleurs, des sites tels que Twitter, L’Equipe, Starbucks, Aliexpress, avaient déjà tenté l’expérience et les retours étaient plutôt concluants. Néanmoins Apple restait en marge quant à certaines fonctionnalités. Depuis la mise à jour iOS 11.3, les PWA sous iOS peuvent désormais profiter des fonctionnalités liées aux Services Workers telles que le mode hors ligne par exemple. A noter que ces fonctionnalités sont accessibles seulement si la PWA est exécutée via Safari (ou directement depuis l’écran d’accueil de l’appareil). En effet, les Services Workers ne sont pas supportés par les autres navigateurs sur iOS.

Pourtant, tout n’est pas encore totalement supporté par la plateforme de Apple et de nombreuses différences existent entre Android et iOS.

 

Quelles sont les fonctionnalités accessibles sur une PWA iOS ?


Parmi les fonctionnalités natives qu’on peut utiliser sur iOS au sein d’une PWA, on retrouvera par exemple :
- La géolocalisation
- Les capteurs (boussole, accéléromètre, gyroscope)
- La caméra ainsi que des fonctionnalités audio
- Apple Pay
- Des fonctionnalités hors ligne depuis l’intégration des Services Workers
- La possibilité d’installer la PWA directement sur le téléphone avec une icône, comme pour une application

 

En revanche, voici quelques les limitations actuelles sur iOS :
- Une PWA iOS ne peut pas stocker plus de 50Mo en mode hors ligne
- Si l’utilisateur n’utilise pas l’application pendant un certain temps, le système peut automatiquement vider le cache de l’application
- Pas d’accès à certaines fonctionnalités telles que le bluetooth
- Pas de possibilité d’exécution de code en arrière plan (pas de synchronisation en arrière plan)
- Pas de possibilité d’accès à des données privées telles que les contacts, etc.
- Pas de push notification, pas de possibilité de badge de notification sur l’icône comme les applications iOS
- Pas d’accès aux API natives de partages aux réseaux sociaux

Sur Android, ces limitations n’existent pas. En effet, le système de Google gère un peu mieux les PWA car il est moins restrictif, et les fonctionnalités liées se rapprochent plus d’une vraie application, notamment grâce au mode hors ligne sans limite de taille, l’exécution en tâche de fond ou encore la réception des push notifications.

 

Peut-on espérer mieux sur iOS ?

 

Apple travaille d’ores et déja sur le support de nouvelles fonctionnalités sur iOS. En effet, après le support des Service Workers, il semblerait qu’Apple travaille sur un support plus complet du Web App Manifest. Ce fichier descriptif permet de définir les éléments utilisés lors du fonctionnement de la PWA comme par exemple le mode full screen, l’orientation de l’écran. Ou encore intégrer dans Safari un système invitant automatiquement l’utilisateur à installer la PWA sur son écran d’accueil. Autant de choses qui ne sont pas encore supportées par iOS, qui peuvent parfois être contournées (le mode plein écran) ou parfois qui ne restent pas implémentables à l’heure actuelle (fixer l’orientation de l’écran de la PWA par exemple)

 

Apple déterminant pour l’avenir des PWA ?

Apple a donc fait un pas de plus vers les Progressive Web Apps avec cette nouvelle version iOS 11.3 et on sait que Apple a une grande influence sur les orientations technologiques de l’industrie. Le support de ces dernières fonctionnalités va donc grandement aider à la propagation de cette technologie. Reste à savoir si Apple finira par débrider les dernières fonctionnalités les plus attendues (push notifications et synchronisation en arrière plan) qui diminueront encore les différences entre une application du store et une PWA.
Mais ce n’est sûrement pas dans l’intérêt d’Apple de faire du tort à son propre store et expliquerait qu’ils ne soient pas pressés pour mettre en place toutes ces dernières fonctionnalités !

 

Commentaire

3 × trois =

iMDEO recrute !

REJOIGNEZ-NOUS

A la recherche de nouveaux talents (développeurs web et mobile, chefs de projet,...)

Voir les annonces