Fabrice Payet 💻 | Lead Développeur Freelance (Full remote) 🌐 | Tech Lead & Cofondateur technique 🚀 🇷🇪

Site de Fabrice Payet > Blog > Quelle technologie choisir pour son application mobile ?

Quelle technologie choisir pour son application mobile ?

Lors du développement d'une nouvelle application mobile, on se confronte souvent au choix de la technologie à utiliser. Application native, hybride ou web app... Quelles sont leurs différences et comment faire le meilleur choix selon nos besoins ?

Application hybrides vs natives

Les applications natives

Les applications mobiles natives sont développées pour une plateforme spécifique. Une application développée en Swift pour iOS ne va donc pas pouvoir fonctionner sur Android, il faudra en développer une nouvelle.

Android vs iOS

Le développement natif utilise directement les composants d'interface natifs de l'appareil, c'est donc la meilleure solution si votre application demande beaucoup de performance. Aussi, il offre une expérience utilisateur optimal et peut accéder à toutes les APIs et ressources offertes par le téléphone.

Le principal inconvénient du développement natif c'est qu'il faut souvent développer 2 versions de l'application (Android & iOS), ce qui implique une complexité au niveau du développement et des coûts plus élevés.

Les application hybrides

Application hybride

L'atout principal des applications hybrides, c'est qu'elles sont prévues pour fonctionner sur plusieurs plateformes. Elles embarquent une surcouche qu'on appelle WebView, qui leur permettent d'interpréter le code HTML/CSS et Javascript.

Les applications hybrides sont plus rapides et moins chères à développer, mais elles sont aussi moins performantes. Elles utilisent des composants web pour afficher les éléments visuels, ce qui les rendent moins ergonomiques et fluides que les applications natives.

Les web apps

Les web apps ou applications web, sont développées de façon responsive, pour fonctionner aussi bien sur les téléphone que sur bureau. Elles sont donc accessibles depuis un navigateur web.

Web Apps

Les Web Apps peuvent être améliorées en y ajoutant des fonctionnalités selon nos besoins, c'est le principe des PWAs. On peut par exemple y ajouter un fonctionnement hors ligne, la possibilité de l'installer sur le téléphone ou l'ajout de notification push.

L'inconvénient principal des Web Apps c'est qu'elles sont dépendantes des fonctionnalités du navigateur du téléphone. Elles ne peuvent donc accèder à toutes les API/ressources qu'offrent le téléphone. Autre point important, comme elles sont avant tout des applications web, elles ne sont pas distribuées sur l'App Store, mais elles sont accessibles depuis le web comme n'importe quel autre site web.

React native

React Native

React native est un framework cross plateforme créé par Facebook utilisant des technologies web. À la différence des frameworks d'application hybride, React native n'utilise pas le systeme de WebView, il manipule directement les composants d'interfaces natifs du téléphone. Cet avantage permet de proposer une expérience utilisateur et des performances proches du développement natif.

Comparatif React native vs iOS natif (Swift)

React native offre aussi la possibilité d'intégrer du code natif dans son application, ce qui permet d'augmenter les performances ou d’accéder à des ressources très spécifiques du téléphone.

Conclusion

Comme on peut le voir, il n’y a pas de meilleure technologie mais tout dépend de ces objectifs. En tant que développeur, j'oriente souvent mes clients vers du React Native, qui me permet de répondre à la plupart des besoins techniques, d'offrir une expérience utilisateur optimale tout en facilitant le travail de développement.