Evénement Xamarin Day #2 chez Microsoft


Xamarin-logo1

La deuxième édition des Xamarin Days s’est tenue le jeudi 2 Mars 2017 chez Microsoft France. Ayant eu la chance d’y assister pour accompagner l’un de nos clients qui se lance sur cette technologie, j’ai voulu vous en fournir une synthèse via ce billet de blog…

Cet événement était orienté business, avec une sur-représentation d’entreprises typées “client final” plutôt que développeurs/intégrateurs. Ce n’était pas l’événement pour découvrir les dernières nouveautés de Xamarin (ce qui a pu décevoir certains), mais pour répondre à la question :

Pourquoi ai-je intérêt à choisir le développement d’une application mobile avec Xamarin plutôt qu’avec une autre technologie?

Et force est de constater que cette technologie suscite un intérêt certain, car la salle était plus que pleine !

Pourquoi une application mobile ?

On peut se poser la question d’entrée de jeu : pourquoi réaliser une application mobile plutôt qu’un site Web mobile responsive ?

A cela, la réponse est claire : car les apps ont gagné.

La société d’études App Annie a publié des chiffres intéressants :

  • les applications représentent aujourd’hui 85% du temps passé sur un smartphone.
  • 25% de temps en plus a été passé dans les applications entre 2015 et 2016 !
  • les propriétaires de smartphone ont recours à 30 apps par mois (hum, ça me semble en peu élevé mais bon …), et l’utilisent 110 fois par jour (là, j’y crois !).

L’utilisation d’un navigateur Web accédant à une déclinaison mobile des sites Web est donc devenue au fil du temps un usage minoritaire, même si nous ne devons pas le négliger quand on a la casquette de concepteur de site Web !

Les applications ont bien sûr de nombreux atouts pour elles.

  • Pour les utilisateurs, elles sont en mesure de fournir des services à valeur ajoutée de par la meilleure intégration au terminal mobile (appareil photo, gyroscopes et accéléromètres etc).
  • Pour les éditeurs d’applications, elles permettent de se rappeler au bon souvenir de l’utilisateur pour générer du trafic : présence sur le bureau du terminal, réception de notifications, animation dans le store.

Donc, OK, les applications mobiles sont dans la tendance générale des usages … mais cela s’applique-t-il aussi dans monde de l’entreprise ?

Les applications mobiles en entreprise

Citons de nouvelles études pour planter le décor :

  • IDC prévoit qu’en 2017, les DSI des entreprises (et là on parlait droit au cœur du public présent) consacreront 25% de leur budget à leur écosystème d’applications mobiles.
  • Gartner prédit, et c’est plus ennuyeux, que la demande des métiers sera 5 fois supérieure à la capacité des DSI à délivrer ces applications !

On sait de plus que la perméabilité des usages fait que les utilisateurs sont devenus très exigeant sur l’expérience mobile dans le contexte professionnel : ils s’attendent à ce que les applications fournies par la DSI soient aussi ergonomiques et fonctionnelles que les applications mobiles les plus familières de la sphère personnelle (Facebook, Instagram etc), et soient mises à jour fréquemment (enrichies et stabilisées).

Les 7 tendances auxquelles les DSI doivent répondre sont donc :

  • rendre les employés mobiles en offrant des outils de productivité
  • fournir des applications performantes et de qualité irréprochable
  • livrer des applications avec un budget contenu
  • résoudre rapidement les bugs
  • dédier plus de temps à l’innovation
  • fournir des applications qui tournent sur un large spectre de terminaux (BYOD oblige)
  • exploiter ce que Microsoft désigne comme le “mobile+” : recours à la réalité augmentée, aux services cognitifs (voir toutes les API fournies par Microsoft dans Azure pour la reconnaissance du langage naturel par exemple), aux nouvelles interfaces (les bots)

Même si la technologie ne fait pas tout, le choix d’une technologie de développement peut nous aider à atteindre ces objectifs, que l’on soit au sein d’une DSI ou en tant que réalisateur d’applications mobiles.

Pourquoi Xamarin ?

Au début de l’ère du développement d’applications mobiles, la démarche naturelle était de développement des applications mobiles natives “en silo” : une version iOS en ObjectiveC, une version Android en Java, une version Windows en C#. Cela donnait une expérience utilisateur très positive (performance et respect des pratiques d’ergonomie propre à chaque OS), mais on rencontrait alors fréquemment 2 travers : des applications qui évoluent à leur propre rythme, des anomalies spécifiques à chaque plateforme, et des coûts de réalisation/maintenance élevés.

S’est alors développée une offre alternative, basée sur les technologies Web (HTML5/JS/CSS), mais tournant dans une coquille applicative leur ouvrant une partie des fonctionnalités qui leur était interdite depuis le navigateur. Il s’agit de l’approche hybride (Apache Cordova par exemple), qui permet le développement multi-plateformes. Si cette approche peut donner de très bons résultats, elle a pu aussi provoquer des déceptions de par des écarts dans le rendu ergonomique vis-à-vis des standards de la plateforme, dans les pertes de performance vis-à-vis d’une app native, dans l’accès incomplet aux API de la plateforme.

En réponse à cela, des technologies de transcompilation ont émergé, permettant d’avoir le meilleur des 2 mondes : les performances, l’ergonomie et la puissance du natif, avec l’efficacité économique du multi-plateformes de par la mutualisation du code.

Xamarin est un des leaders de ces technologies de transcompilation (mais on citera Appcelerator/Titanium dans cette famille…).

Depuis le rachat par Microsoft, le nombre de partenaires Xamarin a explosé, passant de 8 en 2012 à 800 aujourd’hui. Le nombre d’applications présentes sur les stores publics et réalisées en Xamarin est estimé entre 4 000 et 5 000. DCube n’est pas peu fier de faire partie de cette aventure !

Les avantages de l’approche Xamarin en entreprise sont nombreux :

  • rationalisation du nombre de profils différents dans les équipes de réalisation : passage de 9 profils, pour une app réalisée en silo, à 5 profils pour une app réalisée en Xamarin
    • Dans le 1er cas : Dev iOS, expert iOS, expert XCodeServer, Dev Android, expert Android, expert Jenkins, developpeur Windows, expert Windows, expert TFS
    • Dans le 2eme cas : Dev Xamarin, expert Xamarin.iOS, expert Xamarin.Android, expert Windows, expert TFS
  • rationalisation des outils (développement et ALM) :
    • Dans le cas de l’approche Silo, je vais devoir maîtriser dans mon équipe : XCode, CocoaPods, XCodeServer, Android Studio, Gradle, Jenkins, Sonar Cube, XTC, Hockey App…
    • Dans le cas de l’approche Xamarin, la maitrise de Visual Studio, de TFS et de Hockey App suffira !
  • existence d’un support éditeur !

Même si Xamarin n’est pas la solution magique qui convient à tous les cas de figure de nos clients, c’est une approche qui va permettre très souvent de répondre à l’ensemble des défis précités, de par la capacité d’aller vite en étant agiles (DevOps), de former des équipes où se développeront des synergies, de produire des applications à l’expérience utilisateur excellente !

REX Lyon Parc Auto

La journée s’est achevée sur quelques retours d’expérience, dont le plus pertinent a été, à mon goût, celui de la société Lyon Parc Auto (LPA).

LPA gère une grande part des espaces de stationnement souterrains dans l’agglomération lyonnaise. Elle se positionne sur des services innovants pour se démarquer de la concurrence.

La réflexion de LPA part de la question centrale : quels services à valeur ajoutée peut elle rendre à ses clients ? Le client d’une société de gestion de parking cherche à :

  • trouver facilement un parking avec des places libres
  • avoir des informations sur les lieux proches du parking
  • retrouver son véhicule
  • payer de manière la plus fluide possible

Ainsi, LPA a lancé un projet d’application mobile pour apporter ces services.
L’application mobile s’imposait : par définition, le smartphone est l’outil spontané des clients en mobilité. Technologiquement parlant, il fallait s’interfacer avec des fonctionnalités avancées du terminal : geolocalisation, paiement NFC…

LPA a choisi Xamarin, et plus particulièrement Xamarin Forms, car :

  • il fallait réaliser une application sur iOS & Android, et ces applications avaient 80% de fonctionnel commun
  • les estimations de charge indiquait un économie de 25% par rapport au natif en silo, et un cout identique pour l’approche hybride (qui du coup perdait de son intérêt)

Le retour de LPA est globalement positif :

  • la promesse de réutilisation du code a été tenue
  • le chaine d’industrialisation du développement a pu être mutualisée
  • elle a pu tirer partie de nombreux composants Xamarin Forms prédéfinis sur les 2 OS

Néanmoins, des points difficiles ont été rencontrés dans l’utilisation de Forms (on va le voir, rien de surprenant…) :

  • écart entre le design par défaut fourni par Forms et les récents changements de guidelines Android (menus verticaux)
  • complexité de la mise en place d’un contrôle Carrousel

Le conseil exprimé par LPA est de s’assurer d’avoir un sachant Xamarin lors des ateliers d’UX !

En synthèse…

Cette journée a été très intéressante car elle a permis de prendre un peu de recul vis à vis des technologies que nous utilisons au quotidien, et de confronter ces choix technologiques aux tendances du marché.

 

Commentez cet article