xamarin + mvvm cross
TRANSCRIPT
![Page 2: Xamarin + mvvm cross](https://reader035.vdocuments.net/reader035/viewer/2022062503/5878bacb1a28ab724c8b7663/html5/thumbnails/2.jpg)
Ask PAM On-demand Concierge Service in your pocket
![Page 3: Xamarin + mvvm cross](https://reader035.vdocuments.net/reader035/viewer/2022062503/5878bacb1a28ab724c8b7663/html5/thumbnails/3.jpg)
On recrute
- Développeur full stack .Net
- Développeur Xamarin
![Page 4: Xamarin + mvvm cross](https://reader035.vdocuments.net/reader035/viewer/2022062503/5878bacb1a28ab724c8b7663/html5/thumbnails/4.jpg)
Programme• Rapide Introduction à Xamarin• Xamarin.Forms vs Xamarin Spécifique plateforme• Méthodologie MVVM• MvvmCross• Retour d’expérience• Question• Demo de l’app Ask PAM
![Page 5: Xamarin + mvvm cross](https://reader035.vdocuments.net/reader035/viewer/2022062503/5878bacb1a28ab724c8b7663/html5/thumbnails/5.jpg)
Introduction Xamarin
![Page 6: Xamarin + mvvm cross](https://reader035.vdocuments.net/reader035/viewer/2022062503/5878bacb1a28ab724c8b7663/html5/thumbnails/6.jpg)
Développement Mobile vs XamarinDéveloppement d’application natives en silos, Code non réutilisable, langage spécifique à la plateforme
Partage du code commun entre les apps, Développement en C#
![Page 7: Xamarin + mvvm cross](https://reader035.vdocuments.net/reader035/viewer/2022062503/5878bacb1a28ab724c8b7663/html5/thumbnails/7.jpg)
Approche XamarinXamarin traditionnelle Xamarin Forms :
Pros : Rapide et facile, Plus de partages de code, contrôles natifs
Cons : N’a pas accès a tous les contrôles UI
![Page 8: Xamarin + mvvm cross](https://reader035.vdocuments.net/reader035/viewer/2022062503/5878bacb1a28ab724c8b7663/html5/thumbnails/8.jpg)
Xamarin : Lequel choisir?
![Page 9: Xamarin + mvvm cross](https://reader035.vdocuments.net/reader035/viewer/2022062503/5878bacb1a28ab724c8b7663/html5/thumbnails/9.jpg)
MVVM
![Page 10: Xamarin + mvvm cross](https://reader035.vdocuments.net/reader035/viewer/2022062503/5878bacb1a28ab724c8b7663/html5/thumbnails/10.jpg)
MVVM, qu’est ce que c’est?
« Patron de conception (design pattern) logicielle qui permet, tel le modèle MVC (modèle-vue-contrôleur), de séparer la vue de la logique et de l'accès aux données en accentuant les principes de binding et d’événement."
![Page 11: Xamarin + mvvm cross](https://reader035.vdocuments.net/reader035/viewer/2022062503/5878bacb1a28ab724c8b7663/html5/thumbnails/11.jpg)
Principes du MVVM• Databinding
Indique un mapping entre une propriété du contrôle UI et une propriété du View model
• INotifiedPropertyChanged, INotifiedCollectionChangedInterface qui définit un événement qui est déclenché chaque fois que les données sous-jacent sont changées
• ICommandFournir un moyen d'informer le ViewModel que quelque chose s’est passé sur l’UI
![Page 12: Xamarin + mvvm cross](https://reader035.vdocuments.net/reader035/viewer/2022062503/5878bacb1a28ab724c8b7663/html5/thumbnails/12.jpg)
et MvvmCross?
![Page 13: Xamarin + mvvm cross](https://reader035.vdocuments.net/reader035/viewer/2022062503/5878bacb1a28ab724c8b7663/html5/thumbnails/13.jpg)
MVVMCross Plateforme
Project-UI par platform:- Views- Android, iOS,
Windows Phone
Code partagé:- Model- ViewModel- Connection aux webservices- Logique applicative (Navigation…)
![Page 14: Xamarin + mvvm cross](https://reader035.vdocuments.net/reader035/viewer/2022062503/5878bacb1a28ab724c8b7663/html5/thumbnails/14.jpg)
Avantage de MvvmCross- MVVM- UI Native- Portabilité- Plus de partage de code- Testabilité- Two way data binding- Architecture Unifiée- Navigation- IOC- Messenging- Plugins- …
![Page 15: Xamarin + mvvm cross](https://reader035.vdocuments.net/reader035/viewer/2022062503/5878bacb1a28ab724c8b7663/html5/thumbnails/15.jpg)
MvvmCross : Databinding
![Page 16: Xamarin + mvvm cross](https://reader035.vdocuments.net/reader035/viewer/2022062503/5878bacb1a28ab724c8b7663/html5/thumbnails/16.jpg)
MvvmCross : Inversion de contrôle- Framework IoC intégré
- Service Locator pattern et injection de dépendance
- Permet a du code spécifique a une plateforme d’être injecté
- Mapping Interface/implementation
- Remplaçable par d’autre Framework d’IoC
![Page 17: Xamarin + mvvm cross](https://reader035.vdocuments.net/reader035/viewer/2022062503/5878bacb1a28ab724c8b7663/html5/thumbnails/17.jpg)
MvvmCross : Convention over Configuration
![Page 18: Xamarin + mvvm cross](https://reader035.vdocuments.net/reader035/viewer/2022062503/5878bacb1a28ab724c8b7663/html5/thumbnails/18.jpg)
MvvmCross : Navigation- Logique implementé dans le core
- Navigation de ViewModel a ViewModelLe framework se charge des transitions de pages
- Customation possible par le presenter(Tab navigation, Hambuger Menu….)
![Page 19: Xamarin + mvvm cross](https://reader035.vdocuments.net/reader035/viewer/2022062503/5878bacb1a28ab724c8b7663/html5/thumbnails/19.jpg)
MvvmCross : Plugins- Fonctionnalités supplémentaires disponible via les plugins
![Page 20: Xamarin + mvvm cross](https://reader035.vdocuments.net/reader035/viewer/2022062503/5878bacb1a28ab724c8b7663/html5/thumbnails/20.jpg)
Demo
![Page 21: Xamarin + mvvm cross](https://reader035.vdocuments.net/reader035/viewer/2022062503/5878bacb1a28ab724c8b7663/html5/thumbnails/21.jpg)
Retour d’expérience
![Page 22: Xamarin + mvvm cross](https://reader035.vdocuments.net/reader035/viewer/2022062503/5878bacb1a28ab724c8b7663/html5/thumbnails/22.jpg)
Retour d’expérienceAvantage
• Framework mature• Grosse communauté• Beaucoup de tuto• Utilisation des SDK tierces
Inconvénient
• Complexité supplémentaire• Évolue et change (comme
Xamarin)