Blog ENI : Toute la veille numérique !
Dernière chance (fin le 29/02) : -25€ dès 75€ sur les livres en ligne, vidéos... code FUSEE25. J'en profite !
Accès illimité 24h/24 à tous nos livres & vidéos ! 
Découvrez la Bibliothèque Numérique ENI. Cliquez ici
  1. Livres et vidéos
  2. Ionic
  3. Applications mobiles multiplateformes
Extrait - Ionic Développez des applications mobiles multiplateformes avec Cordova et AngularJS
Extraits du livre
Ionic Développez des applications mobiles multiplateformes avec Cordova et AngularJS Revenir à la page d'achat du livre

Applications mobiles multiplateformes

Qu’est-ce qu’une application mobile multiplateforme ?

Dans toute la courte histoire de l’informatique se sont affrontés diverses technologies et langages de programmation. Là où certains revendiquent une proximité avec la machine qui permet d’en tirer le maximum de performances, d’autres avancent un langage plus simple et naturel à manier. Le choix entre tel ou tel langage est alors laissé à l’appréciation du développeur qui doit faire un choix éclairé en fonction des contraintes du projet et de ses propres connaissances. C’est alors l’outillage, la documentation, la maturité de la technologie ou encore sa réputation, qui interviennent comme les principaux facteurs d’adoption.

Néanmoins, ce constat est fait sans compter les matériels et les systèmes d’exploitation qui se multiplient d’année en année. Au-delà du langage sur lequel s’appuyer pour développer, il faut aussi considérer sur quelle plateforme l’application va être déployée. Un véritable casse-tête commence à prendre forme : certains langages sont disponibles uniquement pour une plateforme, là où d’autres langages peuvent être utilisés sur plusieurs plateformes, mais doivent prendre en compte les spécificités...

Pourquoi utiliser une technologie multiplateforme ?

1. Avantages du développement multiplateforme

Les raisons d’adopter une technologie multiplateforme par rapport à ses équivalentes natives peuvent être rassemblées en quatre catégories :

  • Le temps : ne pas redévelopper plusieurs fois la même application permet de gagner du temps, d’être plus réactif pour proposer des évolutions et de se concentrer sur les fonctionnalités métier, et non l’implémentation technique.

  • Le coût : ne pas redévelopper plusieurs fois la même application permet également de consacrer un budget moins important au développement initial et à la maintenance.

  • Les compétences : trouver des développeurs qui savent manier les trois langages natifs et les trois API natives est extrêmement rare. Recruter un développeur qui sait manier une technologie multiplateforme en particulier est beaucoup plus courant.

  • La taille de l’équipe : monter une seule équipe restreinte est plus avantageux au niveau organisationnel que de monter deux ou trois équipes qui vont faire le travail simultanément.

Sur le papier, les technologies multiplateformes ont tous les avantages de leur côté : budget moins important, calendrier raccourci, compétences moins difficiles à rassembler et équipe réduite plus facile à piloter.

Ce constat est valable pour des projets industriels, mais peut être aussi étendu à l’amateur, qui réalise des applications pour son plaisir sur son temps libre ou aux laboratoires de R&D qui expérimentent des concepts sur la base de prototypes. Pour eux aussi, il est fondamental de passer le moins de temps possible et de fournir l’effort le moins important possible pour sortir une application de qualité, de préférence disponible sur toutes les plateformes.

Bien sûr, le passage à une technologie multiplateforme ne veut pas dire que le budget et le planning seront systématiquement divisés par trois. Il faut prendre en compte la montée en compétence sur la technologie, l’adaptation de certains composants ou écrans au look and feel natif, les tests à mener sur les trois plateformes...

Différences fondamentales entre développement natif et multiplateforme

Pour le développeur comme pour le designer, la réalisation d’une application mobile multiplateforme doit être abordée différemment de la réalisation d’une application native. Les langages, les API, les outils n’ont généralement rien en commun, mais il est surtout important de considérer à tout instant que chaque choix d’ergonomie, chaque élément visuel, chaque fonctionnalité sera utilisé sur des plateformes différentes. Pour ne pas perdre trop de temps lors de la conception et du développement, il est donc capital de chercher à élaborer chaque chose de la manière la plus générique possible, puis éventuellement d’affiner certains détails pour s’adapter au visuel et à l’ergonomie de la plateforme pour ne pas dérouter les utilisateurs.

Les outils et techniques pour parvenir à ce raisonnement seront distillés tout au long de cet ouvrage. La liste suivante récapitule quelle doit être la démarche à adopter pour concevoir et développer efficacement une application mobile multiplateforme :

  • Développer le plus d’éléments possible avec la technologie multiplateforme (écrans, contrôleurs, formulaires...