Comme nous l’expliquons dans le dossier consacré au développement Web (ici), il y a globalement 4 manières de développer du code pour les mobiles :

  • un mode natif effectué avec les SDK de Google, Microsoft, Apple ou Windows, ce qui donne des applications locales très performantes, mais aussi très dépendantes des choix faits dans les SDK, en simplifiant des clients riches avec des API locales « maison »
  • un développement en pur HTML5
  • un mode hybride, dans lequel on développe en HTML5, mais les pages sont « enveloppées » dans des applications locales, comme s’il s’agissait d’un développement natif, de manière, entre autre, à ce qu’elles puissent accéder aux ressources locales matérielles du mobile, qui échapperaient aux composants JavaScript HTML5
  • un développement « cross-platform » avec lequel on n’écrit qu’une fois le code qui s’adapte naturellement, après compilation, aux plates-formes qu’il va trouver.

Xamarin, une solution « cross-platform »

Xamarin est une plate-forme de développement que Microsoft utilise déjà beaucoup, la compagnie de Satya Nadella ayant tissé par ailleurs, des liens étroits avec ses concepteurs.

Il s’agit d’un outil « cross-platform », dans lequel le code est écrit en C#, le langage maison de Microsoft, avec 2 parties bien distinctes : d’une part le code commun à toutes les cibles et d’autre part, le code spécifique, propre à chaque OS. Qui peut être relativement important et fait dire à ses détracteurs que l’on n’est plus vraiment dans du «cross-platform.

Une fois ces codes écrits, le SDK Xamarin les compile et produit un exécutable adapté à chacune des cibles. Ce qui est très intéressant en termes d’investissements, puisque l’on peut considérer qu’il y a entre 60 et 80 % de code commun, selon les  applications et que les SDK spécifiques des plates-formes visées, permettent de prendre en compte les particularismes de chacune d’elles.

Evidemment, il faut connaître C#…

Selon Xamarin, qui est donc racheté par Microsoft, sans que l’on connaisse exactement les détails de l’opération, en particulier son montant, la Compagnie s’appuie actuellement sur un panel de 15.000 clients répartis dans 120 pays, ce qui va renforcer la volonté de Satya Nadella de s’ouvrir aux autres plates-formes que la sienne et de tout faire pour gommer les spécificités, impossibles à ignorer.

Il aura aussi à faire face à quelques récriminations dont celle qui consiste à dire que le code généré par le SDK ne serait pas aussi performant que ne l’est un code natif.

Mais là il faut savoir ce que l’on veut : gagner du temps et simplifier la maintenance ou chercher des performances de pointe…