SlideShare uma empresa Scribd logo
1 de 13
Construire un application mobile multiplateformes et
native en C#.
Historique de Xamarin
 En 2001, la compagnie Ximian de Miguel De Icaza lance le







projet mono, une implémentation des normes de langage
ECMA C#. Le but est de pouvoir créer des applications en
.NET pour les plateformes UNIX / Linux.
En 2004, rachat de Ximian par Novell
2011, Attachmate acquiert Novell et se débarrasse de Mono
Miguel De Icaza et une partie de son équipe fondent alors
Xamarin pour poursuivre le travail et faire évoluer Mono
Décembre 2012 : Xamarin pour Mac
Février 2013, Xamarin 2.0 : Xamarin Studio, Xamarin iOS,
Xamarin Android
Pourquoi utiliser Xamarin ?
 D’ici 2016, 70% des travailleurs mobiles auront un

téléphone intelligent et 90% des entreprises auront au
moins 2 plateformes à supporter – Gartner Research
 Les utilisateurs veulent du natif, ne serait-ce que pour
les performances.
 Créer des composants partagés entre plusieurs
plateformes, pour éviter de devoir réécrire 4 apps
différentes.
 Éviter la courbe d’apprentissage de langages comme
Objective-C par exemple.
Qu’est-ce qu’une app « native » ?
 Les applications natives sont construites avec des

interfaces utilisateurs se conformant parfaitement aux
principes de design spécifiques à chaque plateforme.
 Elles offrent des performances optimales en utilisant
l’accélération matérielle des diverses plateformes.
 Elles peuvent aussi accéder à toutes les fonctionnalités
de la plateforme. Par exemple, elles peuvent accéder
aux nouveaux API de reconnaissance d’empreintes
digitales d’Apple.
Architecture
Les composants
 Xamarin.iOS (ex MonoTouch)
 Sur iOS, le compilateur AOT (Ahead Of Time) génère
directement du code natif assembleur ARM
 Génère un fichier .app
 Xamarin.Android (ex Mono for Android)
 Ici, le compilateur génère d’abord en IL (Intermediate
Language) qui sera compilé en natif au lancement de
l’application grâce au compilateur JIT (Just In Time)
 Génère un fichier .apk
Le partage de code selon Xamarin
 Selon leur documentation, une moyenne de 75% du

code d’une application peut être partagé.
Option File Linking
 Façon la plus répandue de partager du code, on créé

une répertoire distinct sur le disque et on le partage
entre les différents projets
 Beaucoup de manipulations manuelles sont
nécessaires cependant. Pas de façon simple de le faire
dans Visual Studio entre autres. Par exemple, si on
ajoute un fichier, il faut le faire dans tous les projets
qui partage le code parce pas d’option de link de
dossiers.
File Linking
Autres méthodes de partage de
code
 Fichiers de projets clonés (fonctionne mieux dans

Xamarin Studio mais demande d’être vigilant, car il y a
de la gestion manuelle)
 Microsoft Project Linker (fonctionne seulement avec
Visual Studio et n’est pas supporté officiellement)
IDE
 Outre l’intégration avec Visual Studio, ils ont leur

propre IDE, Xamarin Studio. Tourne sous Windows ou
Mac OSX
Xamarin en chiffres
 Plus de 425 000 développeurs au moment d’écrire ces

lignes
 17 000 consommateurs payants
Quelques bémols
 75% du code partagé ? Vraiment ? OK, le Model, la BL,

certains appels à des API externes, etc. Mais malgré
tout, le code commun comportera son lot de « if »
 Vous devrez tout de même apprendre les paradigmes
de chaque plateforme pour pouvoir développer. Une
« vue » est un concept totalement différent sur iOS et
sur Android.
 Le fichier généré tend à être plus lourd vu les
références à des librairies externes comme LINQ par
exemple.

Mais conteúdo relacionado

Mais procurados

CV Ahedbf - Fr
CV Ahedbf - FrCV Ahedbf - Fr
CV Ahedbf - Fr
ahed bf
 

Mais procurados (20)

PFE Swap INWI 2G 3G LTE
PFE Swap INWI 2G 3G LTEPFE Swap INWI 2G 3G LTE
PFE Swap INWI 2G 3G LTE
 
Rapport de stage
Rapport de stageRapport de stage
Rapport de stage
 
Un slideshow de présentation d'Asterisk présenté en entreprise en 2008.
Un slideshow de présentation d'Asterisk présenté en entreprise en 2008.Un slideshow de présentation d'Asterisk présenté en entreprise en 2008.
Un slideshow de présentation d'Asterisk présenté en entreprise en 2008.
 
CV Ahedbf - Fr
CV Ahedbf - FrCV Ahedbf - Fr
CV Ahedbf - Fr
 
Rapport de mini projet de programation web
Rapport de mini projet de programation webRapport de mini projet de programation web
Rapport de mini projet de programation web
 
Rapport projet fin d'étude
Rapport projet fin d'étudeRapport projet fin d'étude
Rapport projet fin d'étude
 
DEVOPS
DEVOPSDEVOPS
DEVOPS
 
Symbian OS
Symbian OSSymbian OS
Symbian OS
 
Guide d'installation d'un cyber cafe
Guide d'installation d'un cyber cafeGuide d'installation d'un cyber cafe
Guide d'installation d'un cyber cafe
 
Présentation VOIP
Présentation  VOIPPrésentation  VOIP
Présentation VOIP
 
Cours HTTPS pour UnPointZero
Cours HTTPS pour UnPointZeroCours HTTPS pour UnPointZero
Cours HTTPS pour UnPointZero
 
CV de Fatma CHIHAOUI
CV de Fatma CHIHAOUICV de Fatma CHIHAOUI
CV de Fatma CHIHAOUI
 
Rapport Projet de Fin d'Etudes
Rapport Projet de Fin d'EtudesRapport Projet de Fin d'Etudes
Rapport Projet de Fin d'Etudes
 
Rapport de stage d'été
Rapport de stage d'étéRapport de stage d'été
Rapport de stage d'été
 
Présentation pfe - Etude, conception et réalisation d'une application web de ...
Présentation pfe - Etude, conception et réalisation d'une application web de ...Présentation pfe - Etude, conception et réalisation d'une application web de ...
Présentation pfe - Etude, conception et réalisation d'une application web de ...
 
éTude et mise_en_place_d'une_solution_voip_sécurisée
éTude et mise_en_place_d'une_solution_voip_sécuriséeéTude et mise_en_place_d'une_solution_voip_sécurisée
éTude et mise_en_place_d'une_solution_voip_sécurisée
 
Présentation PFE
Présentation PFEPrésentation PFE
Présentation PFE
 
BigData_Chp3: Data Processing
BigData_Chp3: Data ProcessingBigData_Chp3: Data Processing
BigData_Chp3: Data Processing
 
Soutenance Elhadj Bah | Diplôme d'ingénieur de conception en Informatique | E...
Soutenance Elhadj Bah | Diplôme d'ingénieur de conception en Informatique | E...Soutenance Elhadj Bah | Diplôme d'ingénieur de conception en Informatique | E...
Soutenance Elhadj Bah | Diplôme d'ingénieur de conception en Informatique | E...
 
Présentation du stage technicien:Application VBA de gestion des employés
Présentation du stage technicien:Application VBA de gestion des employésPrésentation du stage technicien:Application VBA de gestion des employés
Présentation du stage technicien:Application VBA de gestion des employés
 

Destaque

Destaque (20)

Xamarin et le développement natif d’applications Android, iOS et Windows en C#
 Xamarin et le développement natif d’applications Android, iOS et Windows en C# Xamarin et le développement natif d’applications Android, iOS et Windows en C#
Xamarin et le développement natif d’applications Android, iOS et Windows en C#
 
Développer des applications iOS et Android avec c# grâce à Xamarin par Cyril ...
Développer des applications iOS et Android avec c# grâce à Xamarin par Cyril ...Développer des applications iOS et Android avec c# grâce à Xamarin par Cyril ...
Développer des applications iOS et Android avec c# grâce à Xamarin par Cyril ...
 
Choisir sa plateforme de développement mobile
Choisir sa plateforme de développement mobileChoisir sa plateforme de développement mobile
Choisir sa plateforme de développement mobile
 
Chp1 - Introduction au Développement Mobile
Chp1 - Introduction au Développement MobileChp1 - Introduction au Développement Mobile
Chp1 - Introduction au Développement Mobile
 
Let's Go dans l'univers mobile multiplateforme avec Xamarin
Let's Go dans l'univers mobile multiplateforme avec Xamarin Let's Go dans l'univers mobile multiplateforme avec Xamarin
Let's Go dans l'univers mobile multiplateforme avec Xamarin
 
Native cross-platform mobile apps with C# and Xamarin.Forms
Native cross-platform mobile apps with C# and Xamarin.FormsNative cross-platform mobile apps with C# and Xamarin.Forms
Native cross-platform mobile apps with C# and Xamarin.Forms
 
Top 4 Cross Platform tools for Mobile App Development
Top 4 Cross Platform tools for Mobile App DevelopmentTop 4 Cross Platform tools for Mobile App Development
Top 4 Cross Platform tools for Mobile App Development
 
Conseil RH: Réussir son entretien
Conseil RH: Réussir son entretienConseil RH: Réussir son entretien
Conseil RH: Réussir son entretien
 
L'entretien annuel
L'entretien annuelL'entretien annuel
L'entretien annuel
 
Webséminaire "L'entretien professionnel" - 26 janvier 2016
Webséminaire "L'entretien professionnel" - 26 janvier 2016Webséminaire "L'entretien professionnel" - 26 janvier 2016
Webséminaire "L'entretien professionnel" - 26 janvier 2016
 
Chp1 - Introduction aux méthodologies de Conception
Chp1 - Introduction aux méthodologies de ConceptionChp1 - Introduction aux méthodologies de Conception
Chp1 - Introduction aux méthodologies de Conception
 
OpenStack Overview: Deployments and the Big Tent, Toronto 2016
OpenStack Overview: Deployments and the Big Tent, Toronto 2016OpenStack Overview: Deployments and the Big Tent, Toronto 2016
OpenStack Overview: Deployments and the Big Tent, Toronto 2016
 
Mobile Application Development
Mobile Application DevelopmentMobile Application Development
Mobile Application Development
 
Le jeu de rôle marielos
Le jeu de rôle marielosLe jeu de rôle marielos
Le jeu de rôle marielos
 
Xamarin.Forms [french]
Xamarin.Forms [french]Xamarin.Forms [french]
Xamarin.Forms [french]
 
Chp1 intro conception
Chp1 intro conceptionChp1 intro conception
Chp1 intro conception
 
Alphorm.com Formation Hacking et Sécurité, l'essentiel
Alphorm.com Formation Hacking et Sécurité, l'essentielAlphorm.com Formation Hacking et Sécurité, l'essentiel
Alphorm.com Formation Hacking et Sécurité, l'essentiel
 
MobileDay - Parcours 2 Crossplateform
MobileDay - Parcours 2 CrossplateformMobileDay - Parcours 2 Crossplateform
MobileDay - Parcours 2 Crossplateform
 
Verbes à etudier
Verbes à etudierVerbes à etudier
Verbes à etudier
 
Estudio de mercado
Estudio de mercadoEstudio de mercado
Estudio de mercado
 

Semelhante a Introduction à Xamarin

RapportProjetLibre-CrossplateformeMobiledev (1)
RapportProjetLibre-CrossplateformeMobiledev (1)RapportProjetLibre-CrossplateformeMobiledev (1)
RapportProjetLibre-CrossplateformeMobiledev (1)
Cyril Sabbagh
 
Débuter avec phonegap (APACHE CORDOVA) dans eclipse pour android
Débuter avec phonegap (APACHE CORDOVA) dans eclipse pour androidDébuter avec phonegap (APACHE CORDOVA) dans eclipse pour android
Débuter avec phonegap (APACHE CORDOVA) dans eclipse pour android
Bosco Basabana
 
Windows Phone Workshop: Globalization
Windows Phone Workshop: GlobalizationWindows Phone Workshop: Globalization
Windows Phone Workshop: Globalization
Zayen Chagra
 

Semelhante a Introduction à Xamarin (20)

Cellenza-Xamarin-From-0
Cellenza-Xamarin-From-0Cellenza-Xamarin-From-0
Cellenza-Xamarin-From-0
 
Xamarin - Programmation C# multi-plateforme pour iOS, Android et Windows
Xamarin - Programmation C# multi-plateforme pour iOS, Android et WindowsXamarin - Programmation C# multi-plateforme pour iOS, Android et Windows
Xamarin - Programmation C# multi-plateforme pour iOS, Android et Windows
 
Réutilisation de code entre Windows 8 et Windows Phone 8.
Réutilisation de code entre Windows 8 et Windows Phone 8.Réutilisation de code entre Windows 8 et Windows Phone 8.
Réutilisation de code entre Windows 8 et Windows Phone 8.
 
Offre migrer vers_flutter
Offre migrer vers_flutterOffre migrer vers_flutter
Offre migrer vers_flutter
 
Apache Cordova 3.3 de zéro
Apache Cordova 3.3 de zéroApache Cordova 3.3 de zéro
Apache Cordova 3.3 de zéro
 
RapportProjetLibre-CrossplateformeMobiledev (1)
RapportProjetLibre-CrossplateformeMobiledev (1)RapportProjetLibre-CrossplateformeMobiledev (1)
RapportProjetLibre-CrossplateformeMobiledev (1)
 
Les nouveautés de Xamarin 4
Les nouveautés de Xamarin 4Les nouveautés de Xamarin 4
Les nouveautés de Xamarin 4
 
Cours cordova & REST
Cours cordova & RESTCours cordova & REST
Cours cordova & REST
 
Devforumfrancois Tonic
Devforumfrancois TonicDevforumfrancois Tonic
Devforumfrancois Tonic
 
Créer des applications métier (LOB) pour Windows 8 et Windows Phone 8
Créer des applications métier (LOB) pour Windows 8 et Windows Phone 8Créer des applications métier (LOB) pour Windows 8 et Windows Phone 8
Créer des applications métier (LOB) pour Windows 8 et Windows Phone 8
 
Flutter Rennes - #1
Flutter Rennes - #1Flutter Rennes - #1
Flutter Rennes - #1
 
Native script
Native scriptNative script
Native script
 
Le social coding pour la Creative Technologie
Le social coding pour la Creative TechnologieLe social coding pour la Creative Technologie
Le social coding pour la Creative Technologie
 
Flex et Php Afup
Flex et Php AfupFlex et Php Afup
Flex et Php Afup
 
Débuter avec phonegap (APACHE CORDOVA) dans eclipse pour android
Débuter avec phonegap (APACHE CORDOVA) dans eclipse pour androidDébuter avec phonegap (APACHE CORDOVA) dans eclipse pour android
Débuter avec phonegap (APACHE CORDOVA) dans eclipse pour android
 
Développer des applications mobiles avec phonegap
Développer des applications mobiles avec phonegapDévelopper des applications mobiles avec phonegap
Développer des applications mobiles avec phonegap
 
Conférence Titanium + Alloy au JUG Montpellier
Conférence Titanium + Alloy au JUG MontpellierConférence Titanium + Alloy au JUG Montpellier
Conférence Titanium + Alloy au JUG Montpellier
 
Windows Phone Workshop: Globalization
Windows Phone Workshop: GlobalizationWindows Phone Workshop: Globalization
Windows Phone Workshop: Globalization
 
Flex Php E Seminar Fr
Flex Php E Seminar FrFlex Php E Seminar Fr
Flex Php E Seminar Fr
 
Développer une application Chrome avec AngularJs (Google Développers Group Sa...
Développer une application Chrome avec AngularJs (Google Développers Group Sa...Développer une application Chrome avec AngularJs (Google Développers Group Sa...
Développer une application Chrome avec AngularJs (Google Développers Group Sa...
 

Introduction à Xamarin

  • 1. Construire un application mobile multiplateformes et native en C#.
  • 2. Historique de Xamarin  En 2001, la compagnie Ximian de Miguel De Icaza lance le      projet mono, une implémentation des normes de langage ECMA C#. Le but est de pouvoir créer des applications en .NET pour les plateformes UNIX / Linux. En 2004, rachat de Ximian par Novell 2011, Attachmate acquiert Novell et se débarrasse de Mono Miguel De Icaza et une partie de son équipe fondent alors Xamarin pour poursuivre le travail et faire évoluer Mono Décembre 2012 : Xamarin pour Mac Février 2013, Xamarin 2.0 : Xamarin Studio, Xamarin iOS, Xamarin Android
  • 3. Pourquoi utiliser Xamarin ?  D’ici 2016, 70% des travailleurs mobiles auront un téléphone intelligent et 90% des entreprises auront au moins 2 plateformes à supporter – Gartner Research  Les utilisateurs veulent du natif, ne serait-ce que pour les performances.  Créer des composants partagés entre plusieurs plateformes, pour éviter de devoir réécrire 4 apps différentes.  Éviter la courbe d’apprentissage de langages comme Objective-C par exemple.
  • 4. Qu’est-ce qu’une app « native » ?  Les applications natives sont construites avec des interfaces utilisateurs se conformant parfaitement aux principes de design spécifiques à chaque plateforme.  Elles offrent des performances optimales en utilisant l’accélération matérielle des diverses plateformes.  Elles peuvent aussi accéder à toutes les fonctionnalités de la plateforme. Par exemple, elles peuvent accéder aux nouveaux API de reconnaissance d’empreintes digitales d’Apple.
  • 6. Les composants  Xamarin.iOS (ex MonoTouch)  Sur iOS, le compilateur AOT (Ahead Of Time) génère directement du code natif assembleur ARM  Génère un fichier .app  Xamarin.Android (ex Mono for Android)  Ici, le compilateur génère d’abord en IL (Intermediate Language) qui sera compilé en natif au lancement de l’application grâce au compilateur JIT (Just In Time)  Génère un fichier .apk
  • 7. Le partage de code selon Xamarin  Selon leur documentation, une moyenne de 75% du code d’une application peut être partagé.
  • 8. Option File Linking  Façon la plus répandue de partager du code, on créé une répertoire distinct sur le disque et on le partage entre les différents projets  Beaucoup de manipulations manuelles sont nécessaires cependant. Pas de façon simple de le faire dans Visual Studio entre autres. Par exemple, si on ajoute un fichier, il faut le faire dans tous les projets qui partage le code parce pas d’option de link de dossiers.
  • 10. Autres méthodes de partage de code  Fichiers de projets clonés (fonctionne mieux dans Xamarin Studio mais demande d’être vigilant, car il y a de la gestion manuelle)  Microsoft Project Linker (fonctionne seulement avec Visual Studio et n’est pas supporté officiellement)
  • 11. IDE  Outre l’intégration avec Visual Studio, ils ont leur propre IDE, Xamarin Studio. Tourne sous Windows ou Mac OSX
  • 12. Xamarin en chiffres  Plus de 425 000 développeurs au moment d’écrire ces lignes  17 000 consommateurs payants
  • 13. Quelques bémols  75% du code partagé ? Vraiment ? OK, le Model, la BL, certains appels à des API externes, etc. Mais malgré tout, le code commun comportera son lot de « if »  Vous devrez tout de même apprendre les paradigmes de chaque plateforme pour pouvoir développer. Une « vue » est un concept totalement différent sur iOS et sur Android.  Le fichier généré tend à être plus lourd vu les références à des librairies externes comme LINQ par exemple.