Logo Spiria

Application native ou hybride, que choisir ?

6 juillet 2016.
App Dev

App Dev

Dans le monde du téléphone mobile, il existe deux moyens de développer des applications. Vous pouvez tenter de créer une application commune, qui peut être compilée sur les différentes plateformes, ou bien construire une application spécifique pour chaque plateforme. Nombreux sont ceux qui ont tendance à considérer ce choix comme une décision binaire : tout noir ou tout blanc. Soit il vous faut payer deux fois pour obtenir deux applications natives, soit vous utilisez une base de code unique pour construire une application de qualité médiocre. La vérité est qu’en matière de développement logiciel, la réponse n’est jamais toute noire ou toute blanche.

Pour commencer, laissez-moi vous expliquer les différentes approches :

Les applications natives

Une application dite native est celle qui est développée pour une plateforme unique, en utilisant les outils spécifiquement conçus pour cette plateforme. Ce qui autorise l’application à interagir directement avec des fonctions du système d’exploitation, ainsi qu’avec d’autres programmes éventuellement installés sur le téléphone. De cette manière, chaque plateforme à supporter exige sa propre application au code source dédié. La présentation et l’ergonomie seront plus familières aux utilisateurs et la performance sera normalement au rendez-vous.

Les applications hybrides

Elles existent sous de multiples formes. Dernièrement, nous avons vu l’émergence de nouveaux outils permettant de faire de la compilation croisée, comme React Native ou Xamarin, mais je vais m’attarder plutôt sur Cordova (ou Phonegap 1). Une application développée sous Cordova peut être écrite en JavaScript et HTML et il est possible de compiler une version pour chaque plateforme en partant d’un code source unique. Cela fait économiser du temps et facilite grandement la sortie simultanée de versions de l’application sur plusieurs plateformes. Cependant, la couche supplémentaire requise par le procédé peut provoquer un certain ralentissement d’exécution de l’application. Heureusement, le progrès des outils de développement et celui du matériel qui gagne sans cesse en performance permettent aux applications hybrides de ressembler de plus en plus à des natives.

Alors, que choisir ?

C’est là que ça devient délicat… Cela dépend fortement de ce que vous désirez sur le long terme pour votre application. Il est incontestable que le développement hybride permet d’économiser du temps et de l’argent, mais si vous atteignez les limites de la compilation croisée et que vous êtes dans l’obligation de commencer à écrire vos propres plug-ins pour Cordova, vous pourriez vite finir à passer trop de temps à adapter l’outil à vos besoins et votre code pourrait aussi rapidement devenir vraiment difficile à maintenir. À l’opposé, si vous avez une application modeste, interagissant simplement avec vos serveurs pour fournir des informations aux utilisateurs, la solution native peut ajouter certains coûts et vous dépenseriez sans doute plus que vous n’auriez dû.

En règle générale, si vous développez une application légère, juste vouée à transmettre des informations, mais sans besoins d’accès à certaines ressources matérielles sur les plateformes choisies, une application hybride peut être une bonne solution pour vous. Si vous bâtissez une application qui finira par avoir besoin d’accéder à certains composants matériels, comme la caméra ou le GPS, il serait logique de commencer tout de suite par du développement natif.

À propos du prototypage

Il s’agit d’un piège où il est facile de tomber, car les applications hybrides sont un bon moyen de prototypage rapide. Si vous avez un produit léger, avec peu de fonctionnalités, à construire vite et à partager avec vos partenaires, l’hybride est la solution de facilité. Gardez cependant à l’esprit que si vous voulez ajouter plus de fonctionnalités, il sera alors plus sensé d’emprunter le chemin du natif. Mais cela fera que tout le développement déjà réalisé sur votre prototype sera perdu et qu’il faudra donc repartir de zéro.

Au final

En planifiant votre application, vous devez faire très attention à vos fondations. Établir quelles plateformes vous souhaitez cibler et avoir une bonne vision à long terme de votre produit, seront les éléments-clés dans le choix du type de développement et vous aideront à assurer le succès de votre logiciel.

[1] Phonegap est la distribution Cordova proposée par Adobe. Son code source est le même.