4. 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, ....
6. Promesse
Productivité et rapidité de développement +-
+
Expérienceutilisateur
Applications natives offrant d’excellantes
performances et une expérience
utilisateurs.
Très bonne productivité grande à
l’ecosystème .NET et à un grand
pourcentage de partage de code
7. 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
11. 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 natif
avec des renderers
• Dialogue aisé avec des équipes habituées à travailler sur des projets
mobiles (designer, développeurs, etc...)
13. 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 !
15. 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 partage
de code
17. 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 !