Développer des applications iOS et Android avec C# grâce à Xamarin par Cyril Cathala
A l’ère des smartphones et tablettes, le développement multiplateforme se révèle être un challenge : quelle solution choisir et comment minimiser les coûts, tout en optimisant l’expérience utilisateur ?
Parmi les solutions disponibles sur le marché, Xamarin s’adresse aux développeurs C# pour la création d’applications compatibles avec Windows 8, iOS et Android. Son approche multiplateforme permet de développer des applications natives de qualité en mutualisant jusqu’à 75% de code entre les différents OS.
Ce petit déjeuner sera l’occasion de faire un tour d’horizon des outils du marché, d’apprécier toutes les possibilités offertes par Xamarin et d’en explorer les pistes pour aller plus loin.
12. • Support multiplateforme (BYOD)
• Expérience riche et native
• Bonnes performances
• Time-to-market rapide
• Code facilement maintenable
• Flexible aux évolutions
• Coût raisonnable
A la recherche du bonheur
14. Applications mobiles
Android iOS Windows
5 versions d’OS
x 8 Fabricants
x 20 Langues
x 27 Tailles d’écran
3 versions d’OS
x 8 Devices
x 20 Langues
2 versions d’OS
x 17 Devices
x 20 Langues
15. Outils multiplateformes
Technologies Distribution Package Acteurs connus
Mobile Browser
HTML, CSS,
JavaScript
www Pages Web Safari – Chrome – IE
Web Wrapper
HTML, CSS,
JavaScript
App Store Package hybride PhoneGap
Web-to-native Javascript App Store Package natif Titanium
API JavaScript
Native
HTML, CSS,
JavaScript
App Store Package natif BlackBerry, Windows
Cross compilation C# App Store Package natif Xamarin
35. iOS Designer
• Beta
• Xamarin Studio
• Mac uniquement
• UI Native
• Gestion des
storyboards
36. Environnement de dév
OS Mac OS X Windows
IDE
Xamarin
Studio
Xamarin
Studio
Visual Studio
iOS ✓ - ✓(1)(2)
Android ✓ ✓ ✓(1)
Windows
Phone
- - ✓(1)
(1) License business minimum
(2) Mac requis
37. Pourquoi utiliser Xamarin ?
- Développer en C# pour tous les OS
- Performances optimales
- API native
- Réutilisation de code
- Respect de l’expérience utilisateur
38. Prix
Licences par développeur, par plateforme, par an
• Starter – Gratuit, package limité
• Indie - $299, Xamarin Studio Uniquement
• Business - $999, Visual Studio, Support Mail
• Enterprise - $1899, 1 jour SLA
39. Version d’essai
• 30 jours version d’essai
• MSDN
• 90 jours avec un abonnement MSDN
• 1 Licence Business pour iOS + Android : $1399 ($1998)
• 5 Licences Enterprise pour iOS + Android : $9900 ($18900)
42. • Implémentation open source du framework .NET
• Compatible avec Linux & Mac
• Projet démarré en 2001 par Miguel de Icasa
• Version 3.0
• Support de C# 5.0
• Fondation de Xamarin
Mono
43. • Manifest de configuration
• Compilation
• ARM / IL
• Mono runtime
• Linked assemblies
• Signature (device / store)
Packaging
44. • Machines virtuelles
• Mono + Dalvik
• S’exécutent côte à côte
• VM Mono plus rapide que Dalvik
• Pont à 2 niveaux
• Android Callable Wrapper
• Managed Callable Wrapper
Runtime Android
60. File Linking
• Symboles prédéfinis
#if __MOBILE__
#if __ANDROID__
#if __IOS__
#if WINDOWS_PHONE
#if SILVERLIGHT
• Pour en avoir plus : Build Settings
61. Portable Class Libraries
• 1 assembly
• Plusieurs plateformes
• Xamarin.Android, Xamarin.iOS
• Centralise le code partagé
• Pas de symboles conditionnels
62. Shared Projects
• Introduit avec les Universal Apps
• Entre PCL et File Linking
• Copie les fichiers à la compilation
• Compatible avec les symboles conditionnels
73. Implémentation multiplateforme du pattern MVVM
• Support du Data Binding
• ValueConverter
• ViewModels
• Navigation
• Cycle de vie
• Inversion de contrôle
• Simplification de l’UI
MvvmCross en résumé
78. Ressources
• http://xamarin.com/getting-started
• Guide pour développer une app en 10mn
• http://docs.xamarin.com
• Documentation, Recettes
• http://github.xamarin.com
• Exemples de code
• http://mvvmcross.blogspot.fr
• Documentation MvvmCross
79. Conclusion
• Partenariat Microsoft
• Intégration Visual Studio
• Prix pour les abonnés MSDN
• Accélérer les développements
• Microsoft Build 2014
• Keynote + session
With Xamarin, developers combine all of the
productivity benefits of C#, Visual Studio 2013 and
Windows Azure with the flexibility to quickly build
for multiple device targets.”
S. Somasegar, Corporate Vice President, Microsoft
80. Conclusion
• Applications natives
• Look & feel
• Performances
• Le choix des armes
• Visual Studio
• Xamarin Studio
• Partage de code
• Communauté grandissante
• 600 000+ développeurs
81. Conclusion
• Oui mais …
• Bonnes connaissances en architecture d’application
• Paradigmes de chaque plateforme à apprendre
• Besoin d’un Mac pour iOS
• Packages plus lourds
• Coût de la licence
• Effet boîte noire
82. DES QUESTIONS ?
DES RÉPONSES !
Cyril CATHALA
@CyrilCathala
http://cyril.cathala.org