Xamarin + mvvm cross

486 vues

Publié le

Xamarin et MvvmCross pour le développement d'application cross plateforme native

Publié dans : Technologie
0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
486
Sur SlideShare
0
Issues des intégrations
0
Intégrations
8
Actions
Partages
0
Téléchargements
13
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive
  • Application natives
    Performances optimales
    Écriture de l’application 3 fois
    Délai de mise sur le marché important
    Coût élevé (maintenance, formation, recrutement)

    Xamarin
    Performances optimales
    Partage du code commun
    Mise sur le marché rapide
    Réduction des couts (moins de code, équipes rapidement opérationnelles)

    Chaque méthode d’un SDK (Android, iOS, Windows Phone) est encapsulée à l’identique en C#

    Sur chaque plateforme toutes les fonctionnalités sont conservées. Un développeur expérimenté en Android ou iOS s’y retrouve très rapidement car il écrit les mêmes noms de fonctions et utilise les mêmes classes.
  • Xamarin apporte la compatibilité du code C# et de la platforme .Net sous Android et iOS

    Base du code : Logique métier, les appels de services, le stockage…
    Projet plateforme : L’UI, les navigations, les composants propres a chaque SDK

    Xamarin.Form, l’UI devient portable avec le même code. write once, run everywhere.
    Pour l’instant le procédé est jeune, les composants utilisables restent peu nombreux et il n’existe pas de designer visuel, tout se fait par code C# ou XAML.
  • Créer par Microsoft, et adapté à la réalisation d’applications utilisant le XAML ( windows phone, wpf, silverlight)

     Il permet d’architecturer efficacement une application afin d’en faciliter la maintenabilité et la testabilité

    Model, en français « le modèle », correspond aux données
    View, en français « la vue », correspond à tout ce qui sera affiché, comme la page, les boutons, etc. 
    View Model, en francais « modèle de vue », c’est la colle entre le modèle et la vue. Il s’agit d’une classe qui fournit une abstraction de la vue. il s’appuie sur la puissance du binding pour mettre à disposition de la vue les données du modèle. Il s’occupe également de gérer les commandes que nous verrons un peu plus loin.

    Le but de MVVM est de faire en sorte que la vue n’effectue aucun traitement, elle ne doit faire qu’afficher les données présentées par le view-model. C’est le view-model qui a en charge de faire les traitements et d’accéder au modèle.
  • MVVMCross est une framework MVVM conçu pour le développement d’application cross-plateforme

    avec MVVMCross vous écrivez une seule fois le code de vos Modèles et ViewModels et vous n’avez plus qu’à créer les Views pour chaque plateforme.
  • Xamarin + mvvm cross

    1. 1. Xamarin + MvvmCross Patrick Finken paddy@ask-pam.com @paddyfink
    2. 2. Ask PAM On-demand Concierge Service in your pocket
    3. 3. On recrute  - Développeur full stack .Net - Développeur Xamarin
    4. 4. 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
    5. 5. Introduction Xamarin
    6. 6. Développement Mobile vs Xamarin Dé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#
    7. 7. Approche Xamarin Xamarin 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
    8. 8. Xamarin : Lequel choisir?
    9. 9. MVVM
    10. 10. 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."
    11. 11. Principes du MVVM • Databinding Indique un mapping entre une propriété du contrôle UI et une propriété du View model • INotifiedPropertyChanged, INotifiedCollectionChanged Interface qui définit un événement qui est déclenché chaque fois que les données sous-jacent sont changées • ICommand Fournir un moyen d'informer le ViewModel que quelque chose s’est passé sur l’UI
    12. 12. et MvvmCross?
    13. 13. MVVMCross Plateforme Project-UI par platform: - Views - Android, iOS, Windows Phone Code partagé: - Model - ViewModel - Connection aux webservices - Logique applicative (Navigation…)
    14. 14. Avantage de MvvmCross - MVVM - UI Native - Portabilité - Plus de partage de code - Testabilité - Two way data binding - Architecture Unifiée - Navigation - IOC - Messenging - Plugins - …
    15. 15. MvvmCross : Databinding
    16. 16. 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
    17. 17. MvvmCross : Convention over Configuration
    18. 18. MvvmCross : Navigation - Logique implementé dans le core - Navigation de ViewModel a ViewModel Le framework se charge des transitions de pages - Customation possible par le presenter (Tab navigation, Hambuger Menu….)
    19. 19. MvvmCross : Plugins - Fonctionnalités supplémentaires disponible via les plugins
    20. 20. Demo
    21. 21. Retour d’expérience
    22. 22. Retour d’expérience Avantage • Framework mature • Grosse communauté • Beaucoup de tuto • Utilisation des SDK tierces Inconvénient • Complexité supplémentaire • Évolue et change (comme Xamarin)
    23. 23. Questions? Patrick finken paddy@ask-pam.com @paddyfink

    ×