LS Creative Web

Développement d'applications natives ou hybrides : que choisir pour votre projet

Un client a brûlé 18 000 € sur une app hybride inutilisable. Natif ou hybride ? La vraie question n'est pas la techno, mais la criticité de l'expérience. Voici ma grille pour trancher.

Développement d'applications natives ou hybrides : que choisir pour votre projet

Un client m'appelle en panique. Il a signé avec une agence pour une application mobile « cross-platform » à 18 000 €, délai annoncé : trois mois. Six mois plus tard, l'app rame sur les téléphones Android d'entrée de gamme, l'écran de scan de codes-barres met deux secondes à s'ouvrir, et les livreurs de sa PME refusent de s'en servir. Le développeur lui explique alors, très calmement, qu'il « faudrait passer en natif ». Traduction : on efface et on recommence.

Cette histoire, je l'ai vue une dizaine de fois. Pas parce que l'hybride est mauvais. Parce que la question « développement d'applications natives ou hybrides : que choisir » est presque toujours posée à l'envers. On demande d'abord la techno, puis on réfléchit au besoin. Résultat : des budgets brûlés sur des projets qui n'auraient jamais dû exister, et des choix timides sur des projets qui méritaient du lourd.

Je vais vous donner mon avis, mes chiffres de terrain, et la grille que j'utilise aujourd'hui pour trancher. Franchement, elle m'aurait économisé quelques nuits blanches.

Points clés à retenir

  • Le natif (Kotlin côté Android, Swift côté iOS) reste imbattable dès que l'app touche au matériel, à l'animation ou au temps réel.
  • L'hybride n'est plus un gros mot : React Native et Flutter ont enterré la génération Cordova/Ionic des années 2015.
  • Le vrai déclencheur du choix, c'est rarement le budget. C'est la criticité de l'expérience utilisateur.
  • Une app native coûte facilement 1,6 à 2 fois plus cher à produire qu'une hybride, mais l'écart se resserre sur la maintenance.
  • Sur un projet à 2 plateformes et à faible intensité matérielle, l'hybride sérieux gagne souvent. Sur tout le reste, je pars en natif sans hésiter.

Pourquoi la question est presque toujours posée à l'envers

On me demande « natif ou hybride ? » comme on demanderait « marteau ou perceuse ? ». Sauf qu'aucun bon artisan ne commence par l'outil. Il regarde le mur.

Le vrai problème, c'est que la techno n'est que la troisième décision dans l'ordre logique. Avant elle, il y a deux questions que la plupart des porteurs de projet sautent :

  1. Quel est le geste critique de l'utilisateur ? Pas la fonctionnalité phare. Le geste. Le truc qu'il fera cent fois par jour, ou jamais.
  2. Sur quel matériel tourne-t-il ? Un commercial en zone blanche avec un vieux Samsung, ce n'est pas la même contrainte qu'un utilisateur d'iPhone récent en 4G+.

Le test du geste répété

Pour un de mes clients, une app de gestion de tournées, le geste critique c'était : ouvrir l'app, voir la prochaine adresse, lancer le GPS. Trois secondes au total. Un utilisateur qui doit attendre que l'écran s'affiche, il abandonne la moitié du temps. Ce n'est pas une question de préférence esthétique, c'est un compteur qui tourne.

Sur une autre app, un catalogue produit pour une marque, le geste critique c'était : consulter une fiche, une fois par jour, tranquillement. Là, l'hybride est parfaitement décent. Personne ne s'en plaindra.

Le piège du « deux en un »

L'argument massue de l'hybride — un seul code, deux stores — repose sur une hypothèse que je vois rarement vérifiée : que le comportement utilisateur est identique sur les deux plateformes. Sur le papier, oui. Dans les faits, un utilisateur iOS et un utilisateur Android n'ont ni les mêmes habitudes de navigation, ni les mêmes attentes de fluidité, ni souvent les mêmes besoins métier. J'ai vu des équipes garder un code unifié tout en écrivant deux interfaces distinctes. Elles payaient le coût de l'hybride sans en tirer le bénéfice. Aïe.

Natif, hybride : ce que dit vraiment le terrain

Avant d'aller plus loin, cadrons. Une app native, c'est du code écrit pour un OS précis. Kotlin (ou Java) côté Android, Swift (ou Objective-C) côté iOS. Deux bases de code, deux équipes potentielles, mais un accès direct à toutes les API du système.

Natif, hybride : ce que dit vraiment le terrain

Une app hybride, c'est du code web (JavaScript, TypeScript) ou compilé, enrobé dans un conteneur qui parle aux composants natifs. Les outils qui comptent aujourd'hui, d'après ce que je vois sur les projets : Flutter (Dart, rendu maison), React Native (JS, pont vers le natif), Ionic/Capacitor (web classique encapsulé).

Et là, un mot qui va fâcher : toutes les solutions hybrides ne se valent pas. Mettre React Native et Ionic dans le même sac, c'est comme comparer une berline et une citadine parce que les deux ont quatre roues.

Où l'hybride a cessé d'être le parent pauvre

Le point de bascule, je l'ai observé vers 2019-2020. Flutter et React Native ont commencé à produire des interfaces qu'un utilisateur moyen ne distingue plus d'une app native, du moins sur les écrans standards : listes, formulaires, navigation. Si votre app ressemble à ça, vous n'avez probablement pas besoin de natif.

Ce qui les sépare encore, sur mon expérience : tout ce qui touche au matériel en temps réel.

  • La caméra en traitement continu (scan, réalité augmentée, reconnaissance)
  • Le Bluetooth basse consommation pour du matériel tiers (capteurs, imprimantes, objets connectés)
  • Les animations complexes à 60 ou 120 Hz, où la moindre saccade se voit
  • Le travail en arrière-plan permanent (géolocalisation continue, sync temps réel)

C'est là que les ponts se paient. Et ce n'est pas une question de qualité de framework. C'est une question de couches traversées à chaque appel.

L'écart de coût qu'on ne vous dit pas

Un projet hybride sérieux coûte environ 60 à 70 % du prix d'un projet natif équivalent sur les deux plateformes. Ce n'est pas la moitié, comme certains le promettent. Pourquoi ? Parce que vous payez quand même : l'architecture, les tests, la sécurité, la mise en store, la conformité RGPD, la maintenance des dépendances.

Le natif, lui, double la charge sur les deux bases. Sur un projet à 4 mois de dev natif couvrant iOS et Android, je facture en général 6 à 8 mois de charge totale. L'hybride ramène ça à 4-5 mois. Sur les gros projets, l'écart se chiffre vite en dizaines de milliers d'euros.

Mais voici ce que personne ne calcule : le coût de maintenance à trois ans. C'est là que l'écart fond. Un projet Flutter mal architecturé devient un cauchemar au bout de deux mises à jour majeures. J'ai repris une base React Native abandonnée par son agence : quatre jours pour comprendre pourquoi une simple mise à jour iOS cassait la moitié des écrans. Un projet natif équivalent aurait pris une journée.

Le tableau décisionnel que j'utilise

Voici la grille. Elle n'est pas parfaite, mais elle tranche 90 % des cas que je rencontre.

Critère Pousse vers le natif Pousse vers l'hybride
Geste critique Fréquent, rapide, doit être instantané Occasionnel, tolérant
Accès matériel Bluetooth, AR, caméra continue Caméra ponctuelle, GPS simple
Budget initial Au-delà de 60-80 k€ Sous 40 k€
Équipe Deux profils natifs mobilisables Une équipe JS/Dart unique
Cycle de vie 3 ans et plus, évolutions lourdes 1 à 2 ans, MVP à valider
Expérience Différenciante, l'utilisateur la remarque Fonctionnelle, standard
Public Appareils variés, dont anciens Base homogène (iOS ou Android majoritaire)

Deux lignes font basculer la décision presque à elles seules : le geste critique et l'accès matériel. Si l'un des deux penche nettement du côté gauche, je ne discute pas. Natif. Même si le budget crie.

L'arbre de décision en quatre questions

Si vous tombez sur un cas ambigu — les deux camps se valent —, l'hybride est souvent le bon pari de départ. On peut toujours migrer plus tard, écran par écran, vers du natif. L'inverse demande de tout réécrire d'un coup.

Ce que personne ne vous dit sur les frameworks hybrides

« On fait de l'hybride » ne veut rien dire. Trois familles, trois réalités.

Flutter compile en code natif et dessine son propre rendu. C'est le plus proche du natif sur la fluidité, à mon avis. Le revers : vous êtes dans l'univers Dart, plus restreint que le JS côté recrutement, et certains plugins tiers sont maintenus par des bénévoles. J'ai vu un projet bloqué deux semaines parce qu'un plugin Bluetooth Flutter n'était plus compatible après une mise à jour Android.

React Native s'appuie sur les vrais composants natifs. Il hérite donc du comportement des plateformes, et l'écosystème JS est gigantesque. Le revers, c'est justement cette dépendance : la moitié des bibliothèques npm qui traînent dans un projet mobile sont conçues pour le web, pas pour iOS. J'ai perdu des heures à traquer des fuites mémoire causées par un composant qui n'aurait jamais dû quitter le navigateur.

Ionic/Capacitor embarque une application web dans une webview. Rapide à prototyper, mais la webview a un coût. Au-delà de deux ou trois écrans un peu ambitieux, l'utilisateur le sent. Je réserve ce choix aux apps internes, aux outils métier où l'utilisateur est captif.

Une app PWA peut-elle remplacer le natif ?

La question revient souvent, et la réponse honnête est : parfois.

Une PWA (Progressive Web App) s'installe depuis le navigateur, se met à jour instantanément, et évite la validation des stores. Pour un contenu éditorial, un outil de consultation, un back-office mobile, c'est redoutablement efficace. Ce n'est d'ailleurs plus une alternative à l'hybride, c'est une alternative à l'app elle-même.

Ce qu'une PWA ne fait toujours pas, ou mal : notifier de façon fiable sur iOS, accéder au Bluetooth, tourner en tâche de fond continue. Si votre besoin tient sur ces trois points, oubliez. Sinon, posez la question. J'ai vu une PME économiser 40 000 € en renonçant à une app native pour une PWA bien faite. Personne ne l'a regretté.

Mon avis, sans filtre

Je choisis le natif par défaut, et je bascule vers l'hybride quand trois conditions sont réunies :

  • Le geste critique est tolérant (pas de temps réel, pas de matériel embarqué complexe)
  • Le projet est un MVP, un pilote, une app interne
  • L'équipe n'a pas les moyens de maintenir deux bases natives correctement

Si une seule de ces conditions manque, je remets l'hybride dans sa boîte. Parce qu'une app hybride mal justifiée, ça ne se voit pas au lancement. Ça se voit six mois plus tard, quand les premiers utilisateurs se plaignent, quand le matériel change, quand une mise à jour iOS casse une fonctionnalité qui marchait avant-hier.

Je plaide ici pour une position franche : l'hybride n'est pas une solution de budget. C'est une solution d'adéquation. Dès qu'on le choisit uniquement pour économiser, on paie l'économie plus tard, avec intérêts.

Les erreurs que j'ai faites

J'ai poussé un client vers Flutter sur un projet qui demandait un accès caméra permanent avec traitement d'image en direct. Grave erreur. La latence entre la capture et l'affichage était perceptible, et aucune optimisation n'a réussi à la faire disparaître entièrement. On a fini par réécrire la couche caméra en natif, dans le projet Flutter. C'était deux mois de travail, et une confiance client bien entamée.

J'ai aussi fait l'inverse. Recommander du natif sur une app catalogue dont les utilisateurs passaient une fois par semaine. Résultat : le double du budget initial, pour un gain que personne n'a jamais remarqué. Le client a payé deux développeurs pour un confort visible nulle part.

Bref, la réponse dépend du projet. Mais pas du projet tel qu'on le raconte au début. Du projet tel qu'il sera utilisé six mois après le lancement.

Et si vous hésitez encore ?

Faites un prototype. Vraiment. Deux semaines, un écran, le geste critique. L'un en hybride, l'autre en natif. Faites-le tester par trois utilisateurs sur les téléphones qu'ils utilisent réellement, pas sur le dernier iPhone du bureau. Vous aurez votre réponse en une après-midi de tests, et elle vaudra mieux que toutes les grilles de décision.

Il y a une chose qu'aucun benchmark ni tableau ne capturera jamais : le regard de votre utilisateur au moment où l'écran apparaît. Soit il ne remarque rien, et l'hybride a gagné. Soit il fronce les sourcils, et il faudra du natif. Ce froncement-là, c'est la seule donnée qui compte vraiment.

Fanny Charpentier

Fanny Charpentier

Fanny Charpentier est une spécialiste reconnue en sécurité des réseaux, en cryptographie appliquée et en audit de vulnérabilités. Elle accompagne des organisations dans la protection de leurs infrastructures et la détection de failles critiques, avec une approche rigoureuse et pragmatique. Passionnée par la transmission, elle vulgarise volontiers des sujets techniques complexes auprès de publics variés.

Voir tous les articles →

Articles similaires