Mutualisez jusqu'à 60% du développement de vos applications !

La formidable accélération du numérique nous a fait basculer en quelques années vers un monde de profusion : profusion de moyens d'accès, profusion de terminaux, profusion d'applications et surtout profusion des usages. C'est assez naturellement que les frontières en termes d'expériences utilisateur entre B2C et B2B se sont rapprochées, notamment en termes d'attentes. Dans le domaine des applications pour la mobilité, l'état de l'art technologique a évolué autour de trois grandes tendances : web mobile, hybride et natif. En voici ma vision et mon retour sur le choix technologique Xamarin

 

Les trois modes de développement d'une application

D'un point de vue mise en œuvre, les développements Web mobile ont permis de profiter des filières web existantes en apportant une dimension responsive design pour un contenu qui s'adapte au terminal. Cependant, ils souffrent de l'absence du déploiement dans les stores ou d'accès aux APIs systèmes, ainsi que d'une expérience utilisateur dissociée des caractéristiques propres au terminal.

Les développements hybrides visent d'entrée à répondre à la question d'hétérogénéité du parc de terminaux pour se rapprocher d'une expérience native. Ceci grâce à des possibilités de développement de code plus ou moins unifié (selon l'approche client-side ou server-side retenue), l'exploitation des API systèmes (variables selon les technologies concernées) et une présence dans le store pour assurer une visibilité et un canal de déploiement reconnu. C'est une approche intéressante même si au final, c'est l'expérience utilisateur et la performance qui souffrent.  L'interface utilisateur et la logique métier sont embarquées et interprétées par un moteur de rendu HTML/Javascript propre à chaque plate-forme.

Les développements natifs proposent naturellement l'expérience utilisateur la plus aboutie, le meilleur niveau de performance et une présence dans les stores. Ce développement est spécifique et donne un accès intégral au APIs systèmes des terminaux.

Le partenariat avec Xamarin pour le marché Entreprise

Dans ce contexte, et pour adresser le marché Entreprise, Orange Business et son entité spécialisée dans le développement d'applications, Orange Applications for Business, vient de faire le choix de la solution Xamarin. Ce partenariat technologique a été réalisé pour affranchir les entreprises de leurs contraintes de développement et leur proposer un développement mobile Cross-Platform avec le support des environnements iOS, Android, Windows 8, Windows Phone 8, mais également Windows 7.

Pourquoi Xamarin ?

En tirant partie d'une approche hybride, Xamarin permet aux développeurs de créer des applications natives pour iOS, Android, et Windows en C#. Le choix de ce partenariat a été instruit avec deux objectifs :

  • proposer des applications métiers pour le secteur Entreprise avec la meilleure expérience utilisateur ;
  • disposer d'une stratégie technologique compétitive pour répondre à la spécificité d'implémentation des applications natives. 

Avec des applications natives, la performance et la fluidité sont au rendez-vous. Les composants graphiques natifs étant utilisés, l'ergonomie propre à chaque système est conservée et la courbe d'apprentissage est grandement facilitée. Toutes les API natives de chacun des systèmes sont désormais disponibles en C# ainsi qu'un sous-ensemble du framework .NET.

D'un point de vue implémentation, avec une stratégie de partage de code, il est possible de partager des librairies entres toutes les plates-formes pour mutualiser la logique. Le pattern d'architecture MVVM (Model View ViewModel) est utilisé pour tous les développements avec un découpage propre des couches permettant une stratégie de test adaptée. Seul l'agencement des vues est à réaliser sur chaque plate-forme. Elles sont ensuite branchées à du code commun. Un élément intéressant d'un point de vue équipe, même si chaque profil de développeur possède un système de prédilection pour la réalisation de l'interface, chacun peut contribuer à un code commun partagé.

Notre retour d'expérience

Après presque un an d'utilisation sur les projets mis en œuvre, le retour d'expérience que nous pouvons faire est d'un taux de réutilisation de minimum 60% dans le cas le moins favorable. Cela apporte un avantage compétitif en termes de production et d'expérience pour les utilisateurs. Le changement de flotte de nouveaux terminaux étant courant tous les 6 à 8 mois, cela garantit, pour un coût abordable, de continuer à proposer la meilleure expérience utilisateur pour nos clients. D'un point de vue industrialisation, Xamarin évoluant dans un écosystème Microsoft, la connexion à TFS (Team Foundation System) permet de répondre à notre stratégie d'industrialisation de la filière de développement. La couverture des pratiques d'ingénierie adresse la gestion des exigences, les features, le code, le build, les tests, l'intégration continue, la qualimétrie et la gestion de correction/évolution. 

Au final, un seul langage à maîtriser et un environnement de développement unique. La mise en œuvre compatible avec une stratégie d'industrialisation, un ensemble d'API réutilisables et l'approche MVVM offrent une bonne architecture de projet et des fonctionnalités (async, événements, sérialisation) simplifiant le développement. 

Avec les applications natives, on conserve l'ergonomie propre à chaque système et on mutualise tous les algorithmes métiers et échanges de données. Cela représente un gain de temps pour le développement et une meilleure maintenabilité car les bugs et les évolutions sont corrigés pour toutes les plateformes. D'un point de vue gestion d'équipe, la transition vers un nouvel OS mobile pour un développeur est grandement facilitée par le langage unique.

Philippe Ensarguet

Pour aller plus loin :

Communiqué de presse : Orange Business choisit la technologie Xamarin.

Philippe Ensarguet
Philippe Ensarguet

Chief Technology Officer, je dirige la stratégie technologique pour la transformation d’Orange Business en entreprise de services digitaux née du réseau. Fort de 25 ans d'expérience, je bénéficie d’un point de vue privilégié sur l’évolution des stacks techniques, des outils et des pratiques.