[XamarinDay] Développez de manière 100% native avec Xamarin

18
Xamarin Day Xamarin 100% natif

Transcript of [XamarinDay] Développez de manière 100% native avec Xamarin

Page 1: [XamarinDay] Développez de manière 100% native avec Xamarin

Xamarin DayXamarin 100% natif

Page 2: [XamarinDay] Développez de manière 100% native avec Xamarin

1 Développement natif

4 Pourquoi ?

2 iOS

5 MVVM

3 Android

6 Points clefs

Page 3: [XamarinDay] Développez de manière 100% native avec Xamarin

Développement natif

Page 4: [XamarinDay] Développez de manière 100% native avec Xamarin

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, ....

Page 5: [XamarinDay] Développez de manière 100% native avec Xamarin

Déploiement

Génération de packages natifs prêt à être déployés sur les stores

Page 6: [XamarinDay] Développez de manière 100% native avec Xamarin

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

Page 7: [XamarinDay] Développez de manière 100% native avec Xamarin

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

Page 8: [XamarinDay] Développez de manière 100% native avec Xamarin

iOS

Plutôt que des mots, démo !

Page 9: [XamarinDay] Développez de manière 100% native avec Xamarin

Android

Non pas deux fois quand même...

Page 10: [XamarinDay] Développez de manière 100% native avec Xamarin

Pourquoi ?

Parce que !

Page 11: [XamarinDay] Développez de manière 100% native avec Xamarin

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...)

Page 12: [XamarinDay] Développez de manière 100% native avec Xamarin

MVVM

Ça marche dans les deux sens

Page 13: [XamarinDay] Développez de manière 100% native avec Xamarin

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 !

Page 14: [XamarinDay] Développez de manière 100% native avec Xamarin

MVVM – Architecture

Page 15: [XamarinDay] Développez de manière 100% native avec Xamarin

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

Page 16: [XamarinDay] Développez de manière 100% native avec Xamarin

Points clefs

Page 17: [XamarinDay] Développez de manière 100% native avec Xamarin

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 !

Page 18: [XamarinDay] Développez de manière 100% native avec Xamarin

Questions ?