Retour

Xamarin : retour d’expérience d’un vrai développeur

Applications de nouvelle générationL'environnement de travail numérique 14/02/2017 Benoît Mauran

Dans ma carrière de développeur, j’ai toujours eu des retours négatifs concernant le développement mobile cross-platform. La critique revenant le plus souvent étant que même avec ce type de solution, il faudra toujours coder la majorité de son application en langage natif pour les 3 principaux systèmes d’applications mobiles, que sont Android, iOS et Windows Phone. Chaque OS ayant ses spécificités, la solution ne gèrerait que le portage d’une petite partie du développement global d’une application. Fort d’un premier apprentissage de la solution Xamarin, voici un retour qui va se baser sur ma propre expérience.

xamarin

Aux origines de Xamarin était Ximian

Tout commence au sein de la société Ximian, spécialisée dans les logiciels libres. Sous l’impulsion de Miguel De Icaza, développeur considéré comme le meneur du projet GNOME, le projet Mono est lancé dès 2001. Le but est de rendre disponible sous UNIX la plateforme de développement .NET de Microsoft. L’éditeur de logiciel Novell rachète Ximian en 2003, soit un an avant la sortie de la première version de Mono, en Juin 2004.

En 2010, c’est cette fois Attachmate, un autre éditeur de logiciel, qui rachète Novell. Le projet Mono devient alors non prioritaire, et les développeurs qui travaillaient sur la solution sont licenciés l’année suivante.

Ces derniers décident alors de créer une nouvelle société en Mai 2011, nommée Xamarin, et dont le but est de maintenir Mono à jour et d’en assurer le support auprès de ses utilisateurs. L’entreprise proposera par la suite de nouveaux produits spécifiquement orientés pour le développement mobile avec .NET.

Afin de s’imposer sur le marché du développement mobile grandissant de jour en jour, Microsoft rachète Xamarin au début de l’année 2016, et implémente la solution à Visual Studio dans les semaines qui suivent.

logo-xamarin

Comment installer Xamarin

Le downloader “clé en mains”

Il existe des downloaders livrés clés en main, qui vont télécharger l’intégralité de ce dont un développeur va avoir besoin pour créer une application cross-platform, à savoir Visual Studio et les extensions Xamarin pour Android et iOS. Le SDK Android est également téléchargé lors de l’installation. Pour ceux qui souhaitent développer sous Linux, le projet Mono évoqué au chapitre précédent est toujours disponible, mais ne l’ayant pas testé, impossible de savoir si une partie mobilité y est incorporée.

Les spécificités Androïd et iOS

Concernant le développement Android, le développeur utilisera le SDK Manager pour installer tous les composants dont il aura besoin (versions d’OS, drivers USB, émulateurs). Pour le développement iOS, il est nécessaire de disposer d’un Mac pour compiler le code. Une autre possibilité consiste à lancer le « Xamarin Mac Agent » depuis Visual Studio afin de se connecter vers un Mac qui effectuera cette tâche à distance.

Les extensions

Il est possible d’installer par la suite des extensions, comme VisualSVN pour la gestion de version par exemple.

NuGet

L’utilisation de NuGet permet d’installer de nombreux packages à implémenter dans les futures applications en développement. Par exemple, le package Json.NET qui permet de parser du JSON plus rapidement et plus simplement, ou encore EntityFramework qui est un ORM très répandu.

Développement avec Xamarin

Lors de la création d’un projet, il est possible de cibler uniquement les plateformes souhaitées, ou la totalité d’entre elles (Android, iOS, Windows, Win Phone). Un projet principal est présent pour y développer le code commun à toutes les applications, en C#. On peut créer dans ce projet principal des écrans simples. Prenons comme exemple un écran de connexion avec la saisie d’un couple identifiant/mot de passe, ainsi que d’un bouton Connexion, et tout le traitement de la requête d’authentification qui en découle.

Concernant la création de l’écran, comme il sera le même pour toutes les plateformes, il apparaitra donc dans le projet commun. Pour cela, le développeur va créer une « Forms XAML page », ce qui aboutit à l’apparition de 2 fichiers dans le projet : un fichier XAML où l’on va disposer les composants (les champs textes, les champs de saisie, les boutons), et un fichier XAML.CS qui est la classe qui gèrera le traitement des données de l’écran. A ce sujet, il existe un outil intéressant mais toujours en version Beta, le « Xamarin.Forms Previewer », qui permet d’afficher un aperçu de l’écran au fur et à mesure de sa construction.

visual-studio
emulateur

Bilan de mon expérience avec Xamarin

Comme cela est le cas pour l’ensemble les solutions de développement cross-platform, plus l’application contiendra de l’affichage élaboré et des fonctionnalités natives, plus nous aurons un développement fragmenté. Cependant, il reste intéressant dans un premier temps de pouvoir créer des classe vides mais correctement déclarées et préparées, par exemple les interfaces et les « Custom Renderer » que nous avons évoqués un peu plus haut. De cette façon, un autre développeur pourra rapidement récupérer les sources et coder sa partie du projet, par exemple la personnalisation de l’application pour une plateforme donnée.

Quelques liens utiles pour approfondir

 

Benoît Mauran
Écrit par ,
Président
Ça vous a plu ? Faites tourner !

À lire aussi

say hello !

un projet ? des infos ? un devis ?

on est partout.

Amiens
Scala Amiens

7 rue de l’Ile Mystérieuse

80440 Boves Amiens
Lyon
Scala Lyon

Parc du Crecy, 12 rue Claude Chappe

69370 Saint Didier au Mont d’Or Lyon
Marseille - Siège social
Scala Marseille

11 avenue André Roussin
Immeuble Grand Ecran

13 016 Marseille
+33 (0)4 91 46 84 60
Paris
Scala Paris

8 Rue Euler

75 008 Paris
+33 (0)1 56 68 77 80
Tunis – Tunisie
Scala Tunisie

Rue du Lac Biwa, Immeuble Fraj
3ème étage, Lac 1,
Les Berges du Lac

1053 Tunis – Tunisie
+216 71 657 451
Et même Londres, Bruxelles, NY, Montréal et Casablanca.Voir carte.

on recrute !

Venez voir toutes nos offres ici.

contact
le blog