Appuyez sur Entrée pour rechercher

Xamarin mieux que l'hybride... ou pas?

Author Avatar
Frédéric Block
Managing Partner, EASI

Il y a quelque semaines, je vous avais introduit l'idée du développement unique, multi plate-formes mobiles 'Xamarin' dans ce post. Comme promis, la suite avec notre avis sur la question : Xamarin fait-il mieux que l'hybride, ou pas?

Xamarin d'hier à aujourd'hui

Nous avions déjà regardé la solution Xamarin en 2012-2013. A cette époque, c'était encore trop immature. N'oublions pas que, au départ, Xamarin ne couvrait que la plate-forme iOS... Ce n'est que début 2013 que Android et Windows sont venus s'ajouter à la liste...

Cette année, nous avons décidé de refaire un 'Proof of Concept' (PoC). Xamarin a été mis a contribution pour développer une app et la déployer sur différentes plates-formes.

Et ça marche ?

Techniquement, oui, cela 'fonctionne'. Mais à quel point ?

Quels sont les avantages ?

  • Le développement est effectivement réalisé en 'C#' dans l'outil de développement de Microsoft (Visual Studio). Il n'est donc pas nécessaire de connaître / maîtriser les langages propres à chaque plate-forme (Java, Objective-C, ...).
  • La logique de l'app (gestion des données, synchronisation,...) peut réellement être développée une seule fois.
  • Le langage porté en C# est bien documenté, en tout cas en ce qui concerne la partie 'Xamarin Mobile', moins pour la partie 'Xamarin.Forms' qui est encore plus récente.
  • Contrairement à l'hybride, on a accès à toutes les fonctionnalités de l'appareil (caméra, boutons physiques, API's,...)

Quelles sont les limitations ?

  • Nous avons constaté que l'effort de développement reste tout de même important par plate-forme. Ce constat est surtout présent dans l'interface graphique. Un écran développé pour Android donnera un résultat différent sur un iPhone, et inversément. En gros, il faut partir du principe que les écrans doivent être faits indépendamment, pour chaque plate-forme.
    Cela combiné au fait que les éditeurs d'écran sont, à ce jour, complexes à utiliser et tester, vous avez un très un gros consommateur de temps.
  • Vous n'avez pas accès à toutes les possibilités / finesses 'graphiques' de l'appareil. Il en va de même au niveau des performances où vous devrez vous contenter de ce que Xamarin propose, sans pouvoir optimiser certains comportements.
    En gros, votre app ne sera jamais aussi 'native' qu'une vraie native... Cela se verra toujours à certains moments.
  • Nous avons également constaté que, lors d'une évolution de la couche Android / iOS, les SDK / API évoluent. Quand c'est le cas, il faut d'abord attendre une nouvelle version de Xamarin supportant ces évolutions, ce qui prend du temps.
    Cela qui peut être gênant si votre app ne fonctionne plus suite à ces changements : vous perdez alors la capacité que vous avez en natif d'apporter une solution très rapidement...

Pas si économique que cela...

Au final, nous estimons que le temps de développement sera de l'ordre de 1.75x celui d'une app classique. Si on vise 2 plates-formes, on gagne +/- 13%. On reste donc assez loin du 50% d'économie attendus.

Conclusions : proche de l'hybride, mais à suivre...

A ce stade, si vos apps doivent avoir une interface utilisateur accrocheuse, fluide, précise,... mieux vaut passer votre chemin. De manière générale, nous estimons que Xamarin n'est pas -encore- une solution recommandable pour des apps grand public (B2C).

Dans l'univers de l'entreprise (B2B ou B2E), cela peut par contre suffire, parfois. N'oublions tout de même pas de prendre en compte le fait que l'interface graphique et l'ergonomie d'une app représentent un des facteurs clés dans l'adoption d'une solution mobile... même en entreprise...

C'est donc un constat assez proche de celui fait pour l'hybride...

A côté de cela, nous savons que les enjeux pour Microsoft sont vraiment importants. Il ne peut plus rater le mobile, le catalogue d'app de son store doit évoluer, et il le sait. Nous savons aussi que Microsoft a des moyens financiers, humains, technologiques,.. considérables.

Par conséquent, je pense que Xamarin est une solution qui mérite d'être suivie. Sur base de son évolution, nous pourrions décider de refaire un PoC d'ici 12 à 18 mois...

Current job openings

Job title
Location
Job title
Location
Job title
Location

Sign up to our newsletter

Follow us

Share this article