Applis mobiles : natives ou génériques ?

Les OS et plateformes mobiles sont vraiment nombreux ! Nous avions connu cette situation il y a quelques années dans le monde des navigateurs internet. Sous la pression du time to market, il n’est pas évident d’arbitrer entre développement natif, (programmation spécifique pour iOS, Android, Windows Phone, etc.) ou générique, c’est à dire capable de tourner sur n’importe quel système. Lorsqu’il s’agit de créer une nouvelle application mobile, comment choisir ? Par Jean-François Gaudy, Directeur Innovation et Mobilité chez Gfi Informatique.

Applis mobiles : un univers mouvant

S’il est un univers qui bouge, c’est bien celui de la mobilité ! Une durée de vie très courte des produits et des applications du fait d’une obsolescence parfois « programmée », et un nombre d’applications sans cesse plus élevé. Une mobilité qui prend aussi des formes nouvelles avec les Smartphones, les tablettes, les phablettes et même les objets connectés.

Alors faut-il redévelopper à chaque fois « de zéro » lorsqu’on lance une application mobile ? Le débat fait rage entre natif et générique. En fait, cela dépend… Les avantages sont partagés.

Des systèmes fragmentés

Le développement natif permet d’être plus proche de l’OS mobile : on développe dans le langage associé à l’OS, ce qui permet d’utiliser ses fonctions natives en donnant des applis souvent plus rapides, plus fluides, plus intuitives. Les éditeurs des systèmes plébiscitent ce type d’approche, à l’instar d’Apple qui considère que seules les applications entièrement natives sont à la mesure des ambitions de la plateforme IOS. D’ailleurs ne nous y trompons pas : l’épisode d’il y a 3 ans autour d’Adobe Flash (qui ne fonctionnera jamais sous IOS et Windows Phone) avait pour raison d’éviter que ne se crée un marché d’applications génériques s’appuyant sur ce moteur, et qui risquait de désintermédier les magasins d’applications d’Apple et Microsoft. Malheureusement le développement natif est coûteux car l’univers de la mobilité est fragmenté : iOS d’Apple, Android de Google, Windows Phone de Microsoft ou Blackberry de RIM cohabitent, aux côtés d’autres systèmes plus exotiques ou plus pointus, Open Source ou compatibles Android. Il faut donc développer autant d’applis qu’il y a de systèmes. Ce qui ne manque pas d’alourdir les tests applicatifs avant mise sur le marché ; sans parler de la publication des apps sur les stores qui sont aussi nombreux que les OS.

Le développement générique est plus simple : il « suffit » de créer une surcouche sur l’OS, via un framework qui va faire l’interface vers les systèmes natifs, ou une Web App qui tournera sur un navigateur lui-même encapsulé dans une application native. Dans ce dernier cas on parlera d’application hybride. Ce type d’application se veut « passe-partout » mais ne peut utiliser que le plus petit dénominateur commun de toutes les plateformes. HTML 5 a bien fait progresser ce niveau de fonctionnalités, mais on est loin des capacités des plateformes natives. De plus dans ce cas il s’agit forcément d’un code interprété par le navigateur (et rappelons-nous que les navigateurs même mobiles restent eux aussi fragmentés) et donc bien moins efficace qu’un code binaire généré par un compilateur pour être au plus proche du hardware.

Une collection de cas particuliers en fonction des cibles

Marché, technologies et fonctionnalités : le choix se fera en fonction de ces paramètres : Analysez bien votre cible !

  • Si votre appli est riche en fonctionnalités, mieux vaudra développer en natif. Ce qui permettra une meilleure expérience pour l’utilisateur et collera au plus près des capacités de l’appareil. Si vous devez stocker beaucoup de données et les encrypter par exemple : natif obligatoire. Ce sera généralement le cas lorsque la sécurité est un critère. Idem s’il vous faut utiliser de manière optimale les nombreux capteurs du smartphone.
  • Dans un cadre BtoE (business to employee), deux stratégies : bYod et Cope. La tendance grandissante à se servir de son propre terminal pour un usage professionnel s’appelle le « bring Your own device », et dans ce cas il revient moins cher de faire du générique puisque les mobiles apportés dans le monde de l’entreprise reflètent la fragmentation du marché. En mode Cope pour « Corporate owned, personally enabled », c’est l’entreprise qui détient le terminal mobile, le collaborateur pouvant néanmoins en faire aussi un usage personnel. La stratégie d’entreprise repose alors sur un seul OS et l’on peut s’orienter vers du natif. Notons que le Cope permet à la DSI de l’entreprise d’avoir la main sur les paramètres de sécurité et les fonctionnalités accessibles, d’installer des applications par profil, et même de prendre le contrôle du mobile à distance via les logiciels de Mobile Device Management (MDM).

Et bien sûr, il y a le budget ! De façon générale, sachez que développer en mode « multi-natif » sous différents OS va coûter plus cher que le développement en mode générique. Il vous faudra ajouter à cela la publication sur les magasins d’applications et assurer une maintenance d’autant plus complexe qu’elle devra prendre en compte les nombreux changements de versions des multiples OS. Ce qui bien sûr n’est pas le cas avec une Web App et est plus limité avec une Hybrid App.


gaudy gfi applis mobilité applicationMON AVIS D’EXPERT :
En conclusion, avant de vous lancer dans de coûteux développements étudiez bien votre cible marketing. Inutile de développer du natif pour une population qui ne posséderait pas ou trop peu la plateforme visée ou si les fonctionnalités ne le nécessitent pas.

Mots clésDigital

Articles liés

Partager