Fermer
Développement

Quelles solutions pour créer votre application mobile : natif, hybride ou HTML5 ?

Avoir une idée d’application mobile est la première étape. Sur quelles plateformes développer votre application et comment le faire en est une autre. Voici un tour d’horizon qui vous aidera à vous poser les bonnes questions et qui vous présentera des éléments de réponses.

Voici une question préalable que s’est posée Bleu 122 : sur quelle(s) plateforme(s) distribuer votre application ? La réponse à cette question n’est pas simple, analysons le marché ! Début 2014, 95% du marché est occupé par Android et iOS. Le reste étant occupé principalement par Windows Phone, BlackBerry et quelques autres.

Rendre votre application disponible sur Android et iOS est essentiel. Le faire également sur les autres plateformes est un plus mais il convient de vérifier si le retour sur investissement sera significatif.

Il parait donc essentiel de publier l’application sur au moins deux marchés, Android et iOS. Il existe différentes solutions pour le faire :

  • HTML5/CSS (aussi appelé “WebApp”)
  • Hybride
  • Natif
Quelles solutions pour créer votre application mobile : natif, hybride ou HTML5 ?

Solution 1 : HTML5/CSS (aussi appelé “WebApp”)

C’est le développement le moins onéreux des trois. Une “WebApp” est en fait un site internet, il s’agit d’une application hébergée de la même manière qu’un site. Développé généralement en HTML5, la WebApp est accessible via une URL particulière.

Les avantages sont multiples. Un seul développement suffit pour toutes les plateformes. Une seule version du code est à maintenir. Le déploiement est maitrisé, il suffit de donner l’URL où l’application est hébergée et l’utilisateur y a accès. Les évolutions et le bug fixing sont également très rapidement mis en ligne car vous ne passez par aucun marché pour mettre votre application à disposition de vos utilisateurs.

Il y a par contre de gros inconvénients en passant par cette méthode de développement. Votre application n’aura pas accès à toutes les fonctionnalités offertes par les smartphones. Nous pouvons par exemple citer le système des notifications. Un autre inconvénient est que votre application ne sera pas présente sur l’App Store.

Ce type de développement est souvent le premier pas utilisé vers la mobilité afin de valider des décisions et de lancer une réflexion sur les applications mobiles.

Solution 2 : Hybride

Avec ce mode de développement, certains des inconvénients cités ci-dessus disparaissent. Vous avez maintenant accès à toutes les fonctionnalités offertes par la plateforme de développement hybride avec laquelle vous allez développer.

La plateforme de développement hybride met à disposition le plus petit multiple commun des fonctionnalités présentes sur toutes les plateformes mobiles.
Lors de sorties d’évolutions ou de nouvelles fonctionnalités offertes par les mises à jour, il vous faudra attendre que la plateforme sur laquelle vous faites vos développements ait pris en compte ces évolutions pour y avoir accès.

Vous pourrez par contre ajouter des morceaux de code spécifique, pour iOS ou Android par exemple, pour avoir accès aux fonctionnalités manquantes sur la plateforme de développement hybride ! Mais vous aurez alors des morceaux de codes spécifiques pour chaque application ce qui reviendra à faire du développement natif et donc augmenter les coups de développement.

L’avantage du développement d’une application en mode hybride est que cette application peut ensuite être présente sur les markets Google Play ou App Store. Ce qui n’est pas le cas d’une application réalisée en HTML5/CSS.

Solution 3 : Natif

Les avantages sont considérables, l’expérience utilisateur est maximisée car les fonctions utilisées sont directement celles mise à disposition par l’OS. Toutes les fonctionnalités du système sont accessibles et non seulement celles mises à disposition par les environnements de développements hybrides.

Les applications natives sont bien évidemment disponibles sur les différents marchés Google Play, App Store etc.

Cependant, ce mode de développement est le plus onéreux car il nécessite des développements similaires sur toutes les plateformes choisies. Le temps de développement d’une application est à multiplier par le nombre de plateformes sur lesquelles l’application sera disponible. Cela demande des experts en développement sur chacune des plateformes.

Le code source final est également conséquent car il y a une version par plateforme. Cela fait donc plusieurs sources à maintenir et faire évoluer.

Conclusion

Le choix entre ces trois modes de développement va donc reposer sur vos exigences en termes de budget, expériences utilisateurs, présence sur les stores, etc.

Pour les applications ne faisant pas appel aux dernières évolutions ou utilisant des fonctionnalités répandues, le développement hybride est le bon compromis.

Si votre application fait par contre appel aux dernières évolutions offertes par les systèmes ou si vous voulez maximisez l’expérience utilisateur, vous n’aurez pas le choix et vous dirigerez vers du développement natif.

Mots-clé : AndroidHTML5iOSWebApp
Yohann Poiron

L’auteur Yohann Poiron

J’ai fondé le BlogNT en 2010. Autodidacte en matière de développement de sites en PHP, j’ai toujours poussé ma curiosité sur les sujets et les actualités du Web. Je suis actuellement engagé en tant qu’architecte interopérabilité.