Upload
cellenza
View
150
Download
2
Embed Size (px)
Xamarin DayXamarin 100% natif
1 Développement natif
4 Pourquoi ?
2 iOS
5 MVVM
3 Android
6 Points clefs
Développement natif
Développement natif
• On appelle natif, le développement d’applications en utilisant les outils et languages natives à la plateforme• iOS : Swift/Objective C et XCode
• Android : Java et Android Studio
• UWP : C#/JS et Visual Studio
• Le natif c’est surtout accéder aux API natives à la plateforme• iOS : CoreGraphics, CoreAnimation, ...
• Android : SupportLibs, Fragments, Activities, ...
• UWP : Composition, Windows.Foundation, ....
Déploiement
Génération de packages natifs prêt à être déployés sur les stores
Promesse
Productivité et rapidité de développement +-
+
Exp
érie
nce
uti
lisat
eur
Applications natives offrant d’excellantesperformances et une expérience
utilisateurs.Très bonne productivité grande àl’ecosystème .NET et à un grand pourcentage de partage de code
Xamarin natif
• Xamarin permet• Développer des applications iOS, MacOS et Android en C#
• Partager du code entre toutes les plateformes
• Respecter les codes graphiques de chaque plateforme
• Accéder aux API spécifiques de chaque plateforme
• Utiliser des bibliothèques tierces
• Xamarin c’est donc du natif
iOS
Plutôt que des mots, démo !
Android
Non pas deux fois quand même...
Pourquoi ?
Parce que !
Pourquoi ?
• Meilleures performances
• Intégration complète au système
• Toutes les API couvertes
• Faciliter à trouver des réponses sur internet
• Même en Forms, on finit par en revenir de temps en temps au natifavec des renderers
• Dialogue aisé avec des équipes habituées à travailler sur des projetsmobiles (designer, développeurs, etc...)
MVVM
Ça marche dans les deux sens
MVVM – Mise au point
• MVVM n’est pas un framework
• Il n’est pas nécessaire d’avoir un framework pour faire du MVVM• Basiquement si on a INotifyPropertyChanged et INotifyCollectionChanged on est
paré
• MVVM n’est pas obligatoire
• MVVM n’est pas toujours la meilleure solution
• Parfois un Button.Click c’est plus simple et efficace
• Mais quand même il faut essayer de le respecter !
MVVM – Architecture
MVVM – Framework
• MVVMLight• Simple, léger, efficace• Petit moteur d’IOC• Binding par code pour Xamarin• Orienté ViewFirst
• ReactiveUI• Basé sur Reactive Extensions• Rien que pour ça il a l’air vraiment
cool
• MVVMCross• Différent de MVVMLight ;-)• Très modulaire et extensible• Parfois dur à suivre pour les
débutants• Orienté ViewModel First• Binding par code ou pas AXML dans
Android (attention aux performances)• Contrôles graphiques
supplémentaires• MvcRecyclerView etc...
• Permet un très fort niveau de partagede code
Points clefs
Points clefs
• Demande un temps de formation sur chaque plateforme
• Nécessite une bonne architecture pour limiter la duplication de code
• Plus dur au premier abord que le développement avec Xamarin Forms
• Pas nécessairement un meilleur choix que Forms sur des projets type POC, B2E, B2C ou applications très simples
• SANS LIMITES !
Questions ?