#12 Les applications mobiles cross-platform : Développement avec Xamarin

some test

Fort de ses 10 années d’expériences dans le domaine informatique, Igor a rejoint Technology Partner en tant que développeur. Après plusieurs applications mobiles développées avec la plateforme Xamarin, il nous fait un retour sur sa propre expérience technique. 

Igor, présente-nous Xamarin en quelque lignes ?    

Xamarin est un Framework Microsoft (boite à outils) qui permet de créer des applications multi plateformes.  Ce Framework est open-source et complétement gratuit.   

Xamarin est une boîte à outils composée de plusieurs technologies de Microsoft. C’est pour cela qu’il est assez facile pour un développeur Microsoft d’intégrer un projet Xamarin.   

Grâce à sa communauté développée et active, il est facile de trouver les réponses aux éventuels problèmes rencontrés. Les membres sont compétents et n’hésitent pas à aider les développeurs.  

Quelles sont les raisons d’utiliser Xamarin pour le développement multi-plateformes ? 

Je dirais qu’utiliser Xamarin pour le développement d’une application multi-plateformes permet de gagner un temps précieux. C’est-à-dire qu’une seule équipe est capable de développer pour l’ensemble des plateformes (IOS et Android) grâce à Xamarin.Forms. Xamarin.Forms est en quelques mot une abstraction des technologies de développement d’interface graphique propre à chaque plateforme en une seule. 

L’avantage est aussi que le résultat de la compilation d’un projet est le développement d’applications natives. Développer une application native permet généralement d'utiliser toutes les fonctionnalités liées au système d'exploitation visé (GPS, appareil photo, etc.) grâce à une seule technologie que l’on retrouve dans la librairie Xamarin.Essentials 

L’adaptation de différents types d’écran se fait également rapidement grâce à XAML qui est un langage spécial de balisage intégré à l’environnement Xamarin. Le basculement d’une version desktop à une version mobile est alors très simple.  

Comme expliqué dans la question précédentegrâce à Xamarin et à ses technologies Microsoft, il est facile pour un développeur d’apprendre et/ou d’intégrer un projet en cours. La réutilisation de ressources et des compétences existantes sont aisément accessibles. 

Le Framework est adapté à tout type d’applications que ce soit des petites ou des plus conséquentes. Il faudra cependant veiller à adapter la structure et l’architecture du projet 

Quelle est l’architecture d’une application mobile Xamarin ? 

Dans la première couche on choisit de travailler avec une ou plusieurs plateformes différentes et on crée les projets correspondants. Par exemple Xamarin.iOS et Xamarin.Android. Chaque projet offre la possibilité de développer la logique métier en utilisant le langage C#. En ce qui concerne l’interface graphique, les principes de développement restent propres à chaque plateforme. 

Une seconde couche supérieure fait l’abstraction de l’interface graphique des deux Apps natives dans un projet Partagé (Shared)Toute la logique commune aux Apps (métier et graphique) se développe dans ce projet. C’est à ce moment-là qu’on parle de Xamarin.Forms. Il est toutefois possible de cibler une plateforme en particulier pour développer un comportement visuel ou logique propre à celle-ci. 

Xamarin ne s’arrête pas à la génération de cette logique et de l’interface graphique mais ajoute une bibliothèque Xamarin.Essentials. Elle s’intègre dans des projets Xamarin et permet de rendre générique l’utilisation des ressources de l’appareil mobile comme le GPS, les différents capteurs...  pour les différentes plateformes. 

L’avantage est que si le développeur doit programmer une fonctionnalité propre à une plateformeil aura la possibilité de travailler sur l’une ou l’autre sans y apporter de changement. 

Quelles applications as-tu déjà développé en Xamarin ? 

Du côté personnel, j’ai plusieurs petits projets en cours mais qui sont plus utiles pour l’apprentissage continu de la technologie. L’autoformation est pour moi très importante et j’essaie d’intégrer les nouveautés dans mes projets. 

Au sein de Technology Partner j’ai déjà développé une application Xamarin.Forms de réservation d’hélicoptères dans le monde pour la société LuxAviation et je suis en train de développer une autre pour le ministère de l’environnement luxembourgeois. 

Quelles sont tes aspirations professionnelles futures ? 

Comme mon expérience est importante dans le domaine informatique, le développement chez Technology Partner est un plus pour mon expérience professionnelle. Je pense que j’aspire à devenir un conseiller voire un manager de projet informatique qui regrouperait l’ensemble de mes compétences techniques.

 

Ecrit par Charline Pennisi