Développement d'application mobile : Natif ou Hybride, faites votre choix

Entrepreneurs du numérique, ou entreprises, vous n'êtes pas toujours sensibilisés et bien éclairés des choix techniques qui s'offrent à vous pour votre projet. Ici je traiterai du choix technique concernant le développement d'une application mobile. Deux choix qui ont leurs raisons et leur pertinence. Le développement natif ou le développement hybride.

Historique

Le développement mobile à l'origine, était forcément natif, c'est à dire qu'il fallait parler les languages imposés par les plateforme, le JAVA pour le développement sur Androïd et l'Objective-C puis le Swift pour IOS, et C# pour WindowsPhone.

Toutefois ce modèle de développement natif s'est vite heurté à une problématique de coût et de compétences. En effet pour développer une seule application mobile sur  3 plateformes, il faut par conséquent payer et maintenir 3 développements et trouver les compétences qui souvent ne sont n dans un seul freelance ni même dans une seule web agency.

Une solution débarque alors : le développement hybride. Le développement hybride s'appuie sur 3 principes techniques :

  • L'utilisation des langages web compris de tous (HTML, CSS, et Javascript)
  • La possibilité d'accéder quand même aux composants hardware du téléphone (GPS, vibreur, BlueTooth)
  • La possibilité de "compiler" un seul développement pour les 3 plateformes (Android, IOS, WindowsPhone)

Alors comment choisir entre développement natif ou hybride ? Quelques explications et critères qui vont vous aider à déterminer votre voie.

Pourquoi Natif ?

Les applications natives utilises les bibliothèques et API natives. Le développeur a alors accès plein et entier aux fonctionnalités, notamment hardware de chaque device. En conséquence, les applications mobiles qui utilisent fortement les composants hardware du téléphone seront plus performantes et plus rapides.  Attention cela ne signifie pas que les applications mobiles hybrides ne sont pas capables de gérer les composants hardware du téléphone, juste qu'en comparaison, celle dernière sera moins rapide.

La justification d'un développement natif se fait sur les critères suivant :

  • Si la performance et l'accès aux composants hardware du téléphone sont stratégiques pour votre application
  • Si vous avez le budget pour au moins 2 développements natifs (Android, IOS)
  • Sur votre marché, quelle est la part de chaque plateforme (Dans le toursime, Androïd c'est 80% des plateformes, dans ce cas un seul développement natif sur Androïd peut être pertinent pour commencer)

Pourquoi Hybride ?

N'y allons pas par quatre chemins, les avantages du dévloppement hybride sont clairs :

L'hybride est Cross-plateform, c'est à dire un code applicatif général pour toutes les plateformes, qu'il reste à tester et à compiler pour être distribuable sur AppStore et GooglePlay. Son coût de développement très inférieur au développement natif. (3 à 10 fois moins cher selon les cas).

De plus, les technologies hybrides évoluent vitesse grand V avec par exemple Ionic qui associe AngularJS pour le développement, et Cordova pour l'accès aux composants hardware du téléphone et la compilation pour les différentes plateformes mobiles. (et prochainement Ionic2 qui promet de belles avancées).

La justification d'un développement hybride se fait sur les critères suivants :

  • Si l'application est simple et que la performance/rapidité n'est pas stratégique
  • Si vous avez un budget serré
  • Si vous êtes une startup et que vous souhaitez lancer votre Minimal Valuable Product à moindre coût
  • Si vous êtes une entreprise et que vous voulez une application métier en interne

Comparaison

Le critère le plus important pour choisir, c'est la finalité de votre application. Si l'objectif est la performance et la rapidité, alors le natif s'impose. Cependant, à l'exception des demandes qui nécessitent des spécificités comme le rendu graphique ou l'utilisation forte du processeur, l'immense majorité des applications simples feront valoir un avantage du natif de quelques dizaines de millisecondes par requête, ce qui place l'hybride sur un excellent rapport qualité/prix.

L'autre élément de comparaison fort si vous êtes une organisation ou même une startup, c'est l'éclatement des expertises dont doit disposer votre structure pour créer, maintenir et faire évoluer votre application mobile. Si vous optez pour le natif, vous devez avoir une équipe en interne ou des prestataires externes capables de développer à minima en JAVA et Swift/Objective-c. Au delà du budget, c'est aussi la recherche de compétences variées à intégrer sur un même projet qui peut se révéler compliquée, ne serait-ce que pour maintenir dans le temps une parité de votre application sur les différentes plateformes. Une nouvelle fonctionnalité ajouté pour les utilisateurs IOS et pas pour les utilisateurs Android, ou l'inverse, serait mal perçue.

Aujourd'hui bon nombre d'applications mobiles, simples et qui ne nécessitent pas des performances accrues gagneraient à être traitées par le développement mobile hybride, plus facilement maintenable et évolutif.

Vous êtes une startup ou une entreprise et vous avez un projet d'application mobile ? Obtenez un consulting de votre projet en me contactant ici.

Fondateur d'Entrepreneo.fr. Developpeur web et mobile depuis 8 ans, je propose aujourd'hui mon expertise aux startups et aux Entreprises.

  • Site web
  • LinkedIn
  • Youtube

4 Commentaires

Pour commenter, connectez-vous


Jonathan , on 8/9/16 - Répondre

Je retient que les applications hybrides ont plus de valeur en terme de rapidité et de maintenance, Merci pour cet article vraiment enrichissant.

Frederic , on 8/9/16 - Répondre

Alors non. Les applications hybrides sont certes plus "rapides à développer" (car un seul développement est nécessaire donc moins chères également), mais sont évidemment moins rapides et performantes que les applications natives. L'hybride est une très bonne alternative au natif pour des applications mobiles simples qui constituent une partie significative du nombre des applications, notamment des applications métier pour des entreprises.

Jonathan , on 8/9/16 - Répondre

Parfaitement vrai, mais c'est ce qui oriente encore plus notre choix sur le application hybride, vu que la plupart des applications demandées répondent au même système a 70% CRUD - Messagerie - etc . Pour s'orienter vers du natif, il faudrait avoir un cahier de charge énorme ou le client aurait tous les moyens pour financer l'application sur toute les plateforme. la plupart des développeurs qui codent leur application mobile ne voudront pas reprendre ça sous une autre version . le développement natif se faire rare sur le marché vu l'avancée des framework.

Frederic , on 8/9/16 - Répondre

J'ai lancé ce billet car je rencontre souvent cette question de la part des entreprises et des startups. J'espère que ça en éclairera plus d'un(e) :)

Fondateur d'Entrepreneo.fr. Developpeur web et mobile depuis 8 ans, je propose aujourd'hui mon expertise aux startups et aux Entreprises.

  • Site web
  • LinkedIn
  • Youtube


Entrepreneur ou
Porteur de projet

Rejoindre la communauté


  • Suivre l'actualité entrepreneur et vos auteurs préférés
  • Découvrir les événements près de chez vous
  • Participer en publiant vos articles et en échangeant sur le forum


S'inscrire Maintenant

Le 1er mag participatif des entrepreneurs

Entrepreneur ou
Porteur de projet

CO-CONSTRUISONS ensemble,
le 1er Web Magazine Entrepreneur
100% participatif et social
.


S'inscrire Maintenant

Et publier quand vous voulez