banniere aubay

< Tous les articles

Juil 22, 2020

Le développement d’applications mobiles multiplateformes

 

Dans un contexte où le marché mondial des applications mobiles devrait dépasser les 120 milliards de revenus en 2020, il est important, pour rester concurrentiel, de développer des applications mobiles plus rapidement en offrant des délais de commercialisation plus courts.

Les applications natives

Au début du développement d’applications mobiles, il n’y avait pas d’autre choix que de faire un développement en utilisant les technologies fournies par les constructeurs pour les différents OS (IOS, Android). Les langages de programmation pour du développement natif sont très différents d’une plateforme à l’autre (Objectif C ou Swift pour IOS et Java ou Kotlin pour Android). Il est donc compliqué pour un développeur de maitriser l’ensemble de ces technologies et généralement, un développeur se spécialise uniquement sur un seul OS. Par conséquent, le développement d’une application multi OS sur un environnement natif implique des coûts élevés et nécessite souvent une équipe de développeurs par OS.

Les applications multiplateformes

 

Au fil des années, le marché du mobile a vu émerger des cadres de développement qui permettent d’écrire un seul code applicatif et de l’exécuter sur les différentes plateformes. Ainsi plus besoin de connaitre tous les langages de programmation associés à chaque plateforme. Les coûts et les délais pour la création d’une application utilisant cette technologie se trouvent ainsi largement réduits.

Il existe actuellement 2 approches différentes pour ces nouveaux frameworks de développement multiplateformes :

  • Le développement d’applications ‘hybrides’ qui utilisent des technologies web (HTML, CSS et Javascript) pour créer l’application et son contenu. Cette solution est composée de 80% de technologies web et de 20 % d’extensions permettant l’accès aux fonctionnalités natives du système d’exploitation. Le tout est encapsuler dans une enveloppe native pour que l’application hybride puisse être utilisée comme une application native. C’est une solution fréquemment retenue pour “porter” rapidement un développement web sous forme d’application disponible sur les stores.

IonicCordova et Phonegap sont des exemples de technologies hybrides.

  • Le développement d’applications ‘natives générées’ qui compilent un même code source en différentes applications natives. Il ne s’agit plus d’une vue web exécutée dans un container comme dans le développement de type hybride, mais bien d’un code natif construit pour chaque plateforme. Avec ce type de framework, l’interface utilisateur est obtenue à l’aide de contrôles natifs (contrairement au développement de type hybride) ce qui apporte des performances d’affichage similaire au natif.

React NativeXamarin, Flutter ou encore Kotlin/native sont des exemples de technologies de type natif généré.

Ses avantages

 

L’avantage principal d’utiliser ces frameworks multiplateformes est bien sûr leur développement unique compatible pour tous les OS évitant ainsi des développements spécifiques pour chaque système d’exploitation. L’application sera développée plus rapidement et à moindre coût, et son déploiement en sera simplifié par une sortie sur toutes les plateformes en même temps. Implicitement, la maintenance et l’évolution des applications créées seront également plus simples et plus rapides à mettre en œuvre.

Un autre avantage à ne pas négliger est la montée en compétences. En effet, en utilisant ce type de technologie multiplateforme, le développeur n’utilise qu’un seul langage pour la création d’une application qui sera disponible sur toutes les plateformes du marché. De plus, un développeur ayant déjà des connaissances de développement avec des technologies web pourra très rapidement produire des applications mobiles sans trop d’effort en s’orientant vers des frameworks de type hybride qui utilise des technologies similaires.

De plus, l’utilisation de ces types de frameworks est parfaitement adaptée pour mettre en place des projets de type MVP (Minimum Viable Product) ou de prototypage.

L’ergonomie et les interfaces

 

Il existe une réelle différence entre ces deux types de frameworks lors de la conception des interfaces utilisateurs. En utilisant le cadre de type hybride, l’interface utilisateur sera identique sur toutes les plateformes, ce qui peut être un problème pour certain client mais vous pourrez obtenir une bonne expérience utilisateur et des bons modèles de navigation d’un point de vue visuel.  Avec les frameworks de type natif généré, vous allez pouvoir avoir un rendu équivalent au mode natif car ce cadre de développement utilise l’ergonomie et les composants standards des différents OS.

Les performances

 

Bien évidemment, les applications natives font un meilleur usage des ressources et peuvent exploiter au maximum les fonctionnalités des téléphones. Les applications développées en multiplateformes sont souvent moins performantes pour le développement d’applications complexes à forte utilisation de CPU ou GPU comme les jeux. Pour tout autre type d’applications (gestion et/ou restitution), les performances sont très acceptables.

De par son architecture et son mode de compilation, les frameworks de type natif généré obtiennent de meilleure performance par rapport au cadre hybride.

Conclusion

 

Les frameworks de développement d’applications mobiles multiplateformes ont longtemps été décriés compte tenu de leurs performances réduites. Au fil des années, cet écart s’est considérablement réduit jusqu’à devenir quasi identique pour certains frameworks de type natif généré comme Xamarin ou Flutter. Malgré tout, les applications natives restent supérieures en termes d’expérience utilisateur mais beaucoup plus coûteuses.

Il parait donc évident que le choix du cadre de développement d’une application mobile dépendra du type d’application que vous souhaitez développer et de son budget associé. Si votre application exige des traitements complexes avec des fonctions graphiques très évoluées, il vaut mieux vous orienter vers du développement natif car vous risquez de rencontrer des soucis de performance. En revanche, pour le développement d’application de type distribution de contenus (qui concerne environ 80% des applications mobiles) vous pourrez avoir des résultats très satisfaisants en utilisant les frameworks multiplateformes avec l’avantage d’avoir des délais de développement et de mise sur le marché extrêmement réduits.

N’oubliez pas lors de vos choix, que les cadres de développement hybride et natif généré ne sont pas identiques et la seule caractéristique commune entre ces deux framework est un code unique pour différents OS. Il est donc important pour vous, de choisir une technologie qui réponde à vos besoins, exigences ainsi qu’à votre public cible pour créer une application gagnante.

Chez Aubay, au sein de la Digital Factory, nous avons privilégié la solution Ionic pour des développements de projets mobile multiplateformes.

Vous avez des questions, une idée de projet de développement mobile ?
N’hésitez pas à nous contacter !

Partagez cet article
Didier

Didier

Responsable de la Digital Factory

< Retour à tous les articles