Hétérogénéité des systèmes

Les solutions techniques d’accès mobiles comprennent les smartphones, tablettes, ainsi que les objets portés comme les montres connectées. Il existe aujourd’hui deux principaux systèmes d’exploitation pour ces équipements :

  • Android de Google (et variantes : LineageOS, …),
  • iOS d’Apple.

Ces systèmes d’exploitation ont des API différentes, ce qui implique une incompatibilité de leurs applications.

Différents types de développements

Plusieurs types de développement pour mobile sont possibles, chacun avec ses avantages et inconvénients :

  • Le développement d’applications natives, spécifiques à un système (d’exploitation) :

    • en Java (ou Kotlin) avec Android Studio,
    • en Swift (remplaçant de l’Objective C) pour iOS.

C’est la solution offrant les meilleures performances et l’expérience utilisateur la plus intégrée au système, mais elle nécessite autant de développements qu’il y a de plateformes à supporter.

  • Le développement d’applications portables (d’un système d’exploitation à l’autre), avec différentes modalités :

    • Développement d’application multi plateforme native, en utilisant une bibliothèque de fonctions assurant l’interface avec l’API du système ; exemples :

    • Développement d’applications hybrides : ce sont des applications web embarquées dans une WebView (moteur de rendu HTML / CSS / JavaScript) associée à un environnement d’exécution (runtime) permettant d’accéder aux API du système; exemple : Capacitor.

    • Développement de PWA), c’est-à-dire d’applications web adaptatives (responsives).

Les avantages des PWA

Les API web permettent aujourd’hui d’accéder à la plupart des fonctions du téléphone : stockage local, géolocalisation, appareil photo, accéléromètre, notifications…

Contrairement aux formes natives et hybrides, les PWA peuvent s’installer sans passer par un magasin d’applications — cf Manifestes d’applications web.

Les Service Workers associés au stockage côté client permettent un fonctionnement hors-ligne (sans connexion internet).

Elles se mettent automatiquement à jour lors de l’utilisation.

Enfin, leur développement s’appuie sur les technologies universelles du web.