Etat des lieux du marché mobile

Google (Android) et Apple (iOS) sont les leaders du marché des systèmes d’exploitation mobiles. Ils détiennent respectivement, en août 2017 (d’après le JDN), 68% et 23% des parts de marché soit plus de 9 appareils sur 10.

Répartition des OS mobiles en France en 2017

Crédit image JDN

Si beaucoup d’entre vous connaissent très certainement iOS, le système d’exploitation des iPhones et iPads d’Apple, vous ne savez peut-être pas que c’est Android, le système open-source développé par Google, qui équipe la grande majorité des terminaux mobiles produits par les concurrents d’Apple, tels que Samsung, LG, Sony et bien d’autres.

Microsoft occupe encore 7% des parts de marché avec son OS (Operation System – Système d’exploitation) Windows Phone mais nous ne nous étendrons pas sur le sujet, l’éditeur ayant annoncé l’abandon de celui-ci en juillet 2017.

Les applications mobiles natives

A l’origine, les applications disponibles sur nos appareils mobiles (téléchargeables sur les stores par exemple) sont dites natives. Ceci veut dire qu’elles ont été développées à l’aide des kits de développement fournis par les éditeurs des systèmes d’exploitation mobiles.

Ces kits sont spécifiques à chaque système d’exploitation et proposent un ensemble exhaustif de fonctionnalités afin d’exploiter au mieux le matériel sur lequel elles sont installées.

Android Studio vs Xcode

Android Studio d’un côté et Apple Xcode de l’autre.

En prenant pour exemple les deux OS les plus répandus, il faudra utiliser le logiciel XCode et développer ses applications dans les langages Objective-C ou Swift pour les iPhones et les iPads alors qu’il faudra utiliser le logiciel Android Studio (entre autres, car la plateforme est plus ouverte) et le langage Java pour développer ses applications pour les Smartphones et Tablettes sous Android.

Concrètement, il faudra donc réaliser deux développements complètement distincts pour créer une application mobile à la fois pour Android et iOS, ce qui représente un temps de développement assez long, des ressources humaines importantes et donc un budget conséquent.

Les applications mobiles hybrides

Très rapidement, une nouvelle solution est apparue et a rencontré un succès quasi-immédiat : le développement d’applications hybrides.

Ces technologies ont été créées pour répondre à plusieurs contraintes : pallier au manque de main d’œuvre spécialisée en développement mobile natif et réduire le temps et le coût de développement d’une application.

En effet, les technologies hybrides se basent sur les langages du web tels que le HTML5 et maitrisés par un nombre bien plus importants de développeurs. Le HTML5 est le nouveau standard du web (considéré comme le remplaçant du Flash) et il permet de développer des applications complètes, riches et performantes.

Ces langages étant compatibles avec toutes les plateformes mobiles existantes, il est ainsi possible de créer rapidement une application cross-platform (exécutable peu importe la plateforme).

Applications mobiles hybrides : Cordova et le HTML5.

Apache Cordova et HTML5/CSS3, le coeur des applications hybrides.

La dernière problématique est donc de rendre ces applications capables d’interagir avec le matériel et d’être installées via les stores. C’est ici qu’interviennent les outils tels qu’Apache Cordova.

Cet outil propose, principalement, les deux fonctionnalités suivantes :

  • Encapsuler la vue web ainsi créée dans une application mobile « native »
  • Interagir avec le matériel (caméras, GPS, gyroscope, etc.)

Pour comprendre cela, il faut imaginer qu’une application web sera destinée à être exécutée dans un navigateur web (browser). Chaque système d’exploitation dispose d’une vue web, outil plus communément appelé WebView, c’est-à-dire un navigateur nu (pas de barre d’adresse ni de boutons précédent/suivant, etc.). Cordova va donc créer une application mobile native intégrant tout simplement l’application web dans une WebView.

Cordova propose également des plugins, sorte de briques qu’il est possible d’ajouter selon les besoins et qui vont permettre à l’application mobile hybride de communiquer avec les différents matériels du terminal. Ces plugins agissent comme une passerelle entre le langage web et le langage natif. En pratique, ceci nous donnera accès, par exemple, à la géolocalisation de l’utilisateur, à son altitude, à son appareil photo, etc.

Pour conclure

Le développement d’applications mobiles hybrides propose une alternative intéressante à celui des applications natives de par son gain de temps et sa maintenance facilitée tout en gardant une qualité, une ergonomie et des performances de premier ordre.

 


 

Vous avez un projet mobile ?

Contactez-nous !