Spécial Mobilité : 4 - Le développement d'applications mobiles s'impose en multi-OS
Publié par La rédaction le | Mis à jour le
Entre coût de développement et ergonomie, les plateformes MEAP apportent un bon compromis pour chaque application, en environnements multi-OS
Les fortes spécificités ergonomiques et techniques des systèmes mobiles incitent à développer une application native par système d'exploitation - iOS, Android, BlackBerry OS ou Windows Phone.
Mais, à l'inverse, les contraintes de coûts et de délais font pencher la balance en faveur d'une approche générique. La solution la plus générique repose sur le développement d'applications web, que n'importe quel navigateur affichera correctement.
HTML 5 apporte le support du mode déconnecté et permet d'exploiter les spécificités matérielles de chaque terminal mobile, comme les capteurs et autres puces GPS.
Pour sa part, le responsive design adapte le comportement de l'application à la résolution de chaque appareil. Quant à l'approche webapp, elle consiste à développer une application web d'emblée conçue pour les mobiles. « Mais une interface en HTML 5 et en 'responsive design' est moins fluide et moins ergonomique que celle d'une application native, et elle consomme plus de ressources. Mal adaptée aux applications transactionnelles, cette approche doit être limitée à la consultation d'informations », estime François-Xavier Levy, directeur technique d'Arkama.
Des applications natives avec mutualisation d'une partie du code
Décliner une application pour Android, IOS ou Windows Phone à la fois n'est pas une sinécure. Chaque système possède en effet ses spécificités techniques et ergonomiques. L'exemple le plus couramment cité est le bouton retour-arrière présent dans toutes les applications Android.
Le développement de plusieurs applications natives - une par système - semble donc s'imposer dans bien des cas. C'est économiquement viable à condition de mutualiser une partie du code. « Pour y parvenir, il faut séparer les couches présentation, socle technique - connectivité et stockage - et métier, seule cette dernière pouvant être entièrement partagée », explique François-Xavier Levy.
Les MEAP : couteau suisse plutôt que solution universelle
La solution qui s'impose depuis deux ans est celle des environnements baptisés MEAP (Mobile environnement application platform). Leurs promoteurs admettent que la mutualisation des développements ne peut être que partielle. Ces environnements sont proposés par des éditeurs comme SAP, IBM, Motorola Solutions ou Adobe, auxquels s'ajoutent des acteurs comme Kony ou Antenna.
Ces environnements doivent être vus comme des boites à outils permettant de réduire les coûts et les délais. « Les volets socle technique et présentation sont alors généralement réalisés avec les SDK natifs - Eclipse pour Android, X-Code pour iOS et .NET Framework pour Mobile Phone - mais le MEAP permet de piloter l'ensemble du projet », explique François-Xavier Levy.
Adieu donc l'espoir d'une cross-compilation permettant de développer une seule fois et de générer automatiquement les applications des différents systèmes ? Pas tout à fait quand même. Les MEAP proposent en effet des approches hybrides, suffisantes pour certaines applications. Elles reposent souvent sur une intégration de la technologie Apache Cordova, qui permet de générer des applications natives à partir d'un seul code réalisé en JavaScript.
D'autres MEAP permettent de mutualiser partiellement ou totalement la partie interface graphique, moyennant un runtime différent pour chaque système, qui se chargera de prendre en compte les spécificités ergonomiques. « Le développement d'applications 100% natives reste toutefois nécessaire lorsque la couche graphique est très avancée, ce qui est le cas pour un logiciel de réalité augmentée », affirme Frédéric Puche.
Adapter le 'backend' du système d'information
Coté backend, des adaptations communes à tous les devices sont nécessaires. En effet, les applications ERP ou CRM existantes ne sont pas forcément pensées pour les mobiles. La granularité trop fine des services et les formats de données trop verbeux peuvent engendrer un dialogue mal adapté aux réseaux mobiles.
« Il faut donc réaliser, côté serveur, des transformations de format et des agrégations de services », explique Christian Cagnol, consultant mobilité chez IBM. Les MEAP traitent également cet aspect, grâce à des middlewares permettant de standardiser et d'automatiser les échanges avec les backends.
____________
Auteur : Thierry Lévy-Abégnoli
___________ DOSSIER : Mobilité __ Autres articles à lire: ________________