Image mise en avant pour l'article

Quelle technologie choisir pour créer une application mobile ?

7 octobre 2019
Application mobile - Technologies Web


Comme plus de 48 millions de français vous utilisez quotidiennement votre smartphone pour consulter les réseaux sociaux,  vous informer, acheter en ligne ... ? Les réticences liées au paiement sur mobile s'estompent pour laisser le « m-commerce » s’installer progressivement dans les habitudes d’achat des consommateurs. C'est pourquoi il devient important de développer une application mobile, mais quelle technologie doit-on choisir ?

Ainsi, en Chine en 2019, l'un des pays les plus avancés en la matière, plus de 75% des transactions en ligne passent par les téléphones mobiles ! Il devient incontournable pour les entreprises de se poser la question de l’utilité de créer une application mobile pour leur activité commerciale. Parmi les technologies existantes, comment y voir clair pour envisager la plus adaptée aux besoins de votre entreprise ? Faut-il nécessairement un budget colossal pour développer une « appli » répondant à la fois à vos objectifs business et aux attentes de votre clientèle ?

Dans cet article, vous comprendrez les enjeux qui se cachent derrière chaque technologie pour choisir la solution qui convient le mieux à votre activité…

quelle technologie choisir pour créer une application mobile

Créer une application native pour un projet complexe

En premier lieu, faisons le point sur les technologies majeures de développement d’applications mobiles. En effet, il s’agit surtout d’une évolution des langages depuis l’origine pour s’adapter aux fonctionnalités évolutives du mobile.

« Au commencement, il y eut le natif ».  C’est avec l’application native que tout a commencé.

Les applications natives sont développées spécifiquement pour un système d’exploitation défini :

  • IOS chez Apple,
  • Android chez Samsung, HTC, Huawei, Sony, Xiaomi, Wiko, Honor,
  • Windows Phone de Microsoft,
  • BlackBerry OS.

Chacun de ces systèmes d’exploitation utilise ce que l’on appelle un kit de développement logiciel, un SDK (Software Development Kit) qui lui est propre.

Pour créer une application mobile, il faut alors utiliser le langage de programmation compatible avec le système d’exploitation (OS) souhaité.

Aujourd’hui les 2 « OS » les plus utilisés restent IOS et Android qui utilisent respectivement les langages de programmation Swift (anciennement Objective C) et Kotlin (Android Java).

 

Les avantages de l'application native

Le principal avantage de l’application native, c’est son temps de réaction. Du fait que l’appli soit installée directement dans la mémoire du mobile, elle est stable, responsive et exploite parfaitement et rapidement tous ses modules, parfois même sans connexion à internet.

En optimisant le code, elle permet de créer une application performante et sur-mesure et de développer des fonctionnalités avancées adaptées aux besoins des utilisateurs. Elle convient donc parfaitement aux projets les plus complexes.

 

Les inconvénients de la "native app"

Des inconvénients existent cependant :

  • Les développeurs capables de créer une application en natif sont rares. Donc ils reviennent cher.
  • Les codes étant radicalement différents d’un OS à un autre, il faut multiplier par deux les coûts de développement pour être présent sur Apple et sur Android.
  • Les développeurs sont contraints de s’adapter au code imposé par Apple et Google qui évolue en permanence.
  • Les applications natives dépendent des « stores » (boutiques de distribution des applications : AppStore / Google Play…) ce qui complique les évolutions et les mises à jour.

Aussi, ces coûts importants et ces fortes contraintes nécessaires pour créer une application native ont donné naissance à de nouvelles technologies.

L'application web : facile et peu coûteuse

L’appli web n’est ni plus ni moins qu’un site web réalisé pour le support mobile. Il reprend les codes UX des applications natives et utilise des technologies comme le HTML5 ou le CSS3. Elle est donc compatible avec tous les navigateurs.

 

Les avantages de la web application

Aucun téléchargement ni aucune mise à jour ne sont nécessaires, ce qui évite de « polluer » la mémoire de l’appareil.

Les applications web mobilisent peu de ressources financières puisque leur développement et leur déploiement sont rapides et faciles. Elles représentent donc une solution peu onéreuse pour atteindre les internautes mobiles.

Elles sont également plus ouvertes aux évolutions et ne présentent aucun problème de compatibilité avec les systèmes d’exploitation du mobile.

quelle technologie choisir pour créer une application mobile 2Les inconvénients de l'application web

Etant créée pour les navigateurs web mobile (Safari, Google Chrome etc.), elle requiert cependant une connexion à internet pour fonctionner.

L’utilisation des fonctionnalités du téléphone reste limitée avec la web app, offrant ainsi une expérience utilisateur plus sommaire, moins intuitive et moins interactive.

De même, il n’y a pas de possibilités de notifications push, d’alertes ou de pastilles sur l’appareil et la rapidité d’exécution est plus faible comme elle dépend du débit internet. Elle n’est pas non plus optimisée pour tous les formats d’écran.

Créer une application web convient idéalement aux projets peu complexes ne nécessitant pas de faire appel aux nombreuses fonctionnalités internes du mobile (GPS, caméra, carnet d’adresses…).

 

Créer une application mobile hybride : le bon compromis ?

L’application mobile hybride fonctionne comme une « web app » à la différence près qu’elle est encapsulée dans une application native, donc présente sur l’écran du téléphone comme n’importe quelle appli.

Développée en HTML5, elle apparaît dans un navigateur (webview) via un « encapsuleur » (généralement Cordova).

Des « bridges » raccordent facilement l’application mobile hybride à une grande majorité de fonctions du téléphone. C’est en cela qu’elle se trouve à mi-chemin entre la web app et le natif.

Créer une application hybride présente plusieurs avantages :

  • Facilité et rapidité de développement,
  • Coûts moins élevés que pour créer une application native en jouant sur la mutualisation,
  • Evolutivité de l’application facilitée puisque l’application est téléchargée sur le support mobile…

Cependant, certains inconvénients ne sont pas à exclure et doivent être pris en compte dans votre réflexion :

  • Les performances seront inférieures à celles d’une application native et notamment sa réactivité,
  • Un besoin de maintenance est à prévoir,
  • Le code est moins optimisé que dans le natif ce qui ne permet pas de toucher à une utilisation plus poussée de ses fonctionnalités.

A savoir : Apple annonce depuis plusieurs années la fin du support des applications exécutées dans le composant web du framework iOS. L'architecture d'Ionic/Cordova est donc amenée à disparaitre, très certainement dès la prochaine version d'iOS (14) ! 

La PWA (progressive web app) : alternative à l'application web

En installant un programme léger sur le mobile, la PWA ajoute à la web appli la possibilité de gérer des données en cache, donc de fonctionner offline. Cette technologie web fonctionne ainsi sans encapsulage.

On parle de « service workers ».

Créer une application mobile avec la technologie PWA apporte un net avantage : elle supprime toute dépendance aux stores en téléchargeant l’appli directement sur internet sans pour autant mobiliser l’espace de stockage du téléphone.

Sa rapidité d’exécution est supérieure à celle d’un site web et elle s’adapte à tous les navigateurs et tous les systèmes d’exploitation.

Google a compris l’importance que peut prendre la PWA et a su rapidement s’adapter en permettant à ces applis d’être disponibles au téléchargement sur leur store Google Play.

Mais Apple traine la patte et ni l’AppStore, ni l’iOS n’ont ouvert leur porte à cette technologie. Cela ne devrait pas tarder…

En terme de performance, la PWA est plus aboutie que l’hybride et offre une différence majeure : l’utilisation off-line. La mise en cache permet aussi de réduire considérablement le temps de chargement.

Nous avons par ailleurs rédigé un article dédiés aux PWA, l'avez-vous lu ?

Les technologies de demain...

Nous n’avions pas encore parlé de Facebook, ce pionnier en terme de création d’applis.

Parmi les technologies dites « natives », on trouve également :

Flutter, React Native, Native, les technologies de demain

Au vue de l’importance que prend l’application mobile aujourd’hui dans la sphère digitale, la mutualisation des ressources de développement prend une part prépondérante. Les GAFA l’ont bien compris.

Les technologies lancées par Facebook permettent de générer du code natif. On ne repart plus de zéro. On code 1 fois, on génère 2 codes et on gagne un temps fou ! On aboutit alors à des applis parfaitement natives.

La seule limite : chaque projet est différent et aucune technologie ne peut accomplir automatiquement 100% du code utile.

En fonction des objectifs fonctionnels à atteindre, il est nécessaire de « terminer le code à la main » même si déjà 80% du code sera disponible.

Mais avant de créer une application mobile pour votre entreprise, comme nous l’expliquons dans notre article « Pourquoi et quand développer une application mobile? », une étude préalable des besoins stratégiques d’une application est nécessaire.

En effet, des enjeux de compétence, de budget, de time to market, de performance, de fonctionnalité… entrent en ligne de compte.

 

Choisir une technologie mobile dépend de plusieurs facteurs. Quelle que soit la technologie choisie, les « natives » semblent être un aboutissement intéressant de l’évolution des technologies mobiles.

Pour autant le choix d’une technologie peut évoluer suivant la maturité de l’application. Démarrer par une appli web permet de tester un concept, mais rien ne vous empêche à terme de la faire évoluer vers une technologie plus performante dans une version améliorée !

Webinar - Comment réussir son projet d'application mobile ?

Image mise en avant pour l'article
Laurent Azoulay Linkedin