Une mise à jour de cette présentation est disponible ici : http://fr.slideshare.net/soatexpert/dvelopper-des-applications-i-os-et-android-avec-c-grce-xamarin
*********************
Les slides de la conférence présentée par Cyril Cathala chez Soat le 04/03/2014 sur le thème : Xamarin et le développement natif d’applications Android, iOS et Windows en C#
La vidéo de la présentation est visible ici : http://youtu.be/0BF9NqLYNvQ
9. “By 2016, 70% of the mobile workforce
will have a smartphone, and 90% of
enterprises will have two or more
platforms to support”
Gartner Research
07/03/2014
9
11. Web mobile
• Plus
– Standard multiplateformes
– Version du site déclinée format
mobile
– Faibles coûts
– Référencement via moteur de
recherche
• Moins
– Expérience limitée au navigateur
– En ligne uniquement
Natif
• Plus
–
–
–
–
Meilleures performances
Référencement via Store
Respect de l’expérience utilisateur
Support du hors ligne
• Moins
– Spécifique à la plateforme
– Coûteux
– Maintenance
07/03/2014
11
12. Type
Description
Exemples
Cible
Langage
Web app
• Site web responsive
• Aide au développement
avec composants
réutilisables
jQuery Mobile, Sencha
Touch, Zepto JS, ImpactJS,
LimeJS, iUI, Wink…
Développeurs
web
Javascript
Hybride web
• Wrapper d’app HTML/JS
• Single-page app
• Web app avec
fonctionnalités natives
Adobe PhoneGap Build,
Uxebu, Sencha Touch v2,
MoSync…
Développeurs
web
HTML/CSS/Javascript
Cross-compilation
• 1 langage compilé dans le
langage natif cible
Xamarin, Titanium…
Développeurs
logiciel
Langage supporté (C#,
Javascript, Java…)
Runtime
• Machine virtuelle qui fait
tourner du code
intermédiaire
Adobe Air
Développeurs
logiciel
Langage supporté
(ActionScript, JS…)
Bas niveau
• Composants graphiques bas Unity, MonoGame,
niveau
DeltaEngine, Corona …
• Utilisé pour les jeux
Développeurs
jeux
Langage supporté
(C++, OpenGL…)
07/03/2014
12
13. Les utilisateurs veulent du natif pour :
- l’experience
- le look & feel
- les performances
- les fonctionnalités
15. Historique
Projet Mono (2001)
– Mené par Miguel de Icaza
MonoTouch / MonoDroid (2011)
Xamarin pour Mac (fin 2012)
Xamarin 2.0 (février 2013)
Partenariat Xamarin / Microsoft (novembre 2013)
07/03/2014
15
20. Outils
Visual Studio
– Add-in
– Connexion à un Mac
Xamarin Studio
– Basé sur MonoDevelop
Android designer
iOS designer (alpha)
– Mac uniquement
07/03/2014
20
23. API native
100% des APIs disponibles
Toujours à jour
– iOS7 pour Xamarin sorti le même jour
07/03/2014
23
24. 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
07/03/2014
24
25.
26. Gratuit ?
Free Starter Edition
32kb d’IL
~25MB code source, sans linking
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)
07/03/2014
26
38. Form factors
Téléphone vs tablette
Fragmentation Android
Form factor + capabilities
Différence d’UX
Approche développement différente
07/03/2014
38
51. Architecture
Xamarin Components Store
Visual Studio
Xamarin Studio
Compilation native
Performances au top
Bindings natifs sur les APIs
iOS / Android
Mono
Implémentation cross-platform de .NET
07/03/2014
51
59. 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
07/03/2014
59
60. Conclusion
Applications natives
– Look & feel
– Performances
Le choix des armes
– Visual Studio
– Xamarin Studio
Partage de code
Communauté grandissante
– 500 000+ développeurs
07/03/2014
60
61. 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
07/03/2014
61