Top Banner
Xamarin + MvvmCross Patrick Finken [email protected] @paddyfink
23

Xamarin + mvvm cross

Jan 13, 2017

Download

Technology

Patrick FINKEN
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Xamarin + mvvm cross

Xamarin + MvvmCross

Patrick [email protected]@paddyfink

Page 2: Xamarin + mvvm cross

Ask PAM On-demand Concierge Service in your pocket

Page 3: Xamarin + mvvm cross

On recrute

- Développeur full stack .Net

- Développeur Xamarin

Page 4: Xamarin + mvvm cross

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

Introduction Xamarin

Page 6: Xamarin + mvvm cross

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

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

Xamarin : Lequel choisir?

Page 9: Xamarin + mvvm cross

MVVM

Page 10: Xamarin + mvvm cross

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

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

et MvvmCross?

Page 13: Xamarin + mvvm cross

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

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

MvvmCross : Databinding

Page 16: Xamarin + mvvm cross

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

MvvmCross : Convention over Configuration

Page 18: Xamarin + mvvm cross

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

MvvmCross : Plugins- Fonctionnalités supplémentaires disponible via les plugins

Page 20: Xamarin + mvvm cross

Demo

Page 21: Xamarin + mvvm cross

Retour d’expérience

Page 22: Xamarin + mvvm cross

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)

Page 23: Xamarin + mvvm cross

Questions?

Patrick [email protected]@paddyfink