Les applications hybrides

Applications natives, web applications, ou applications hybrides? Comment choisir? Un point sur la situation.

Lors de la création d’une application vous aurez le choix entre :

Une application native

Objective-C ou Swift pour iOs, Java pour Android, C# pour Windows Phone.

Soit un langage de programmation différent en fonction du système d’exploitation (OS) du smartphone / tablette.

Chaque plate-forme nécessitera donc le développement d’une version spécifique augmentant le temps de production et par conséquence le coût global du projet.

La mise à disposition sur les stores (Apple Store, Google Play Store,…) nécessitera un temps de soumission / vérification auprès des stores (sauf cas d’une mise à disposition interne à l’entreprise).
Une période de validation qui peut durer plusieurs semaines et donc retarder la date de mise en production.
Voir mon article sur la soumission sur le Google Play Store.

Elle est exécutée depuis un lanceur présent sur l’écran d’accueil ou depuis la liste des applications.

Un mode hors ligne lui permettra de continuer à fonctionner malgré l’absence de réseau.

Autre point important, l’accès aux notifications de type push.

Une “applicationweb (site responsive)

Pour un affichage adapté en fonction de la résolution d’écran.Développée en HTML / CSS / Javascript qui est traitée au sein d’un navigateur web (Opéra, Safari, Google Chrome,…).L’application web ne permet pas d’atteindre la couche nécessaire au traitement de certaines opérations: NFC, calendrier, contacts, SMS/MMS, appareil photo / caméra, accès au système de fichiers.Une web app sera totalement indépendante du matériel (marque, système d’exploitation, …) au risque de perdre en ergonomie et ne pourra fonctionner en mode hors connexion.

Un des avantages, la facilité de mise à disposition, une simple URL suffit pour accéder à la web app.
Aucun téléchargement n’est nécessaire.
Son contenu sera accessible depuis un moteur de recherche et permettra à un internaute de trouver l’information souhaitée à un instant T.

Impossible dans ce cas de faire payer certains éléments de votre application, la fonctionnalité in-app purchase (paiement intégré) n’étant pas supporté.
Oubliez donc toute intégration d’une partie PREMIUM de votre business plan.

En terme de coût, le développement d’un site responsive s’avère être le moins onéreux.

Une application hybride

Elle a pour objectif d’apporter un compromis entre les deux premières solutions.

C’est à dire un développement basé sur les langages web (encapsulé dans une webview) mais tout en conservant l’accès à des fonctionnalités natives.

Tout comme l’application native, l’application hybride pourra disposer d’un mode hors ligne (code HTML, … embarqué).
Un point important selon le contexte d’utilisation de l’application et la qualité du réseau.

Une application native ou hybride présente sur les stores vous permettra d’obtenir les retours utilisateurs au travers des systèmes de commentaires et de statistiques directement intégrés.

Le tout pour des coûts de production moindres, le code étant cross plate-form.

A noter toutefois que pour optimiser l’ergonomie ou l’interconnexion aux fonctionnalités natives, une adaptation spécifique à la plate-forme peut-être nécessaire (présence de conditions if).

De même qu’il sera nécessaire d’effectuer n tests correspondant au nombre de navigateurs / résolution d’écran cibles, de la même manière que pour la réalisation d’une web app.

Exemple de solutions techniques hybrides:

  • Cordova (anciennement PhoneGap, très régulièrement mis à jour et confié à la fondation Apache)

Cordova

Cordova utilise un système de plugins permettant d’étendre les fonctionnalités (plugin Camera, …).

  • Ionic (créé en 2014 et basé sur Angular JS framework fourni par Google)

Ionic

Le framework Ionic adopte une structure MVC (Modèle Vue Contrôleur) rendant la structure plus claire, plus rapide, et plus facile à maintenir.

Avec l’intégration d’Apache Cordova, sont intégrées des fonctionnalités natives au smartphone / tablette (GPS, accéléromètre,…).

Tout comme peut le proposer Bootstrap Ionic propose ses propres composants graphiques facilitant ainsi la création d’interfaces front avec possibilité de modifier les variables (police, couleurs, …). De quoi avoir une bonne base de départ.

L’ensemble des gestures et événements sont pris en charge (onTap, onDoubleTap, …).

Au travers de son serveur de développement local, Ionic offre la possibilité d’émuler le rendu Android et iOS afin d’en déceler les différences et adaptations nécessaires.

Attention !! Ionic dans sa version 1 n’est pour le moment pas compatible avec Windows Phone (compatibilité prévue dans la version 2 actuellement en Beta tests).

Conclusion

Le succès grandissant des applications hybrides a permis une optimisation constante des performances pour se rapprocher d’un rendu natif même si celui-ci restera à privilégier pour des applications à forte complexité.
Exemples de cas où le natif sera privilégié : jeux vidéos, application de réalité virtuelle, …
La baisse de performances sera d’autant plus grande que le matériel sera âgé (iPhone 3, Android 4, …).

Quelques exemples d’applications hybrides :

  • Instagram
  • LinkedIn
  •  ….

Avec l’amélioration constante des performances des smartphones / tablettes, la différence de rendu entre applications hybrides et natives pourrait devenir de plus en plus imperceptible.

Le temps passé devant un écran de smartphone ou tablette est de plus en plus important, il est donc nécessaire pour chaque entreprise d’intégrer une logique appli mobile dans leur stratégie digitale.

Comme vous pouvez le voir, chaque technologie a ses avantages et inconvénients, il est donc primordiale de faire le bon choix.
En ce sens, je vous propose mon accompagnement et mon regard transverse du métier, n’hésitez pas à me contacter.

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.