SlideShare une entreprise Scribd logo
1  sur  18
Télécharger pour lire hors ligne
Xamarin Day
Xamarin 100% natif
1 Développement natif
4 Pourquoi ?
2 iOS
5 MVVM
3 Android
6 Points clefs
Développementnatif
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, ....
Déploiement
Génération de packages natifs prêt à être déployés sur les stores
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
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
iOS
Plutôt que des mots, démo !
Android
Non pas deux fois quand même...
Pourquoi?
Parce que !
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...)
MVVM
Ça marche dans les deux sens
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 !
MVVM – Architecture
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
Pointsclefs
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 !
Questions?

Contenu connexe

Tendances

20140227 - injection de dépendances - mug lyon
20140227 - injection de dépendances - mug lyon20140227 - injection de dépendances - mug lyon
20140227 - injection de dépendances - mug lyonClement Bouillier
 
5- [ASP.NET Core] Devops : VSTS, Git, Azure, Docker, Linux
5- [ASP.NET Core] Devops : VSTS, Git, Azure, Docker, Linux5- [ASP.NET Core] Devops : VSTS, Git, Azure, Docker, Linux
5- [ASP.NET Core] Devops : VSTS, Git, Azure, Docker, LinuxYasmine Amrani
 
Paris container day rex younited credit
Paris container day   rex younited creditParis container day   rex younited credit
Paris container day rex younited creditMichel HUBERT
 
Afup day 2021 Développez un site e-commerce Headless avec Sylius
Afup day 2021   Développez un site e-commerce Headless avec SyliusAfup day 2021   Développez un site e-commerce Headless avec Sylius
Afup day 2021 Développez un site e-commerce Headless avec SyliusOlivier ALLAIN
 
Présentation partner coliseum 1
Présentation partner coliseum 1Présentation partner coliseum 1
Présentation partner coliseum 1ArielleMeffre
 
Présentation partner coliseum
Présentation partner coliseumPrésentation partner coliseum
Présentation partner coliseumbiswajit44
 
ASP.NET 5: la révolution est en marche
ASP.NET 5: la révolution est en marcheASP.NET 5: la révolution est en marche
ASP.NET 5: la révolution est en marcheMicrosoft
 
Introduction à ASP.NET Core
Introduction à ASP.NET CoreIntroduction à ASP.NET Core
Introduction à ASP.NET CoreMicrosoft
 
L'e-commerce sans accroc avec Sylius
L'e-commerce sans accroc avec SyliusL'e-commerce sans accroc avec Sylius
L'e-commerce sans accroc avec SyliusOlivier ALLAIN
 
Wd601 g formation-developper-des-applications-mobiles-avec-ibm-worklight
Wd601 g formation-developper-des-applications-mobiles-avec-ibm-worklightWd601 g formation-developper-des-applications-mobiles-avec-ibm-worklight
Wd601 g formation-developper-des-applications-mobiles-avec-ibm-worklightCERTyou Formation
 
D3 - SharePoint framework – une nouvelle expérience de développement - Gaetan...
D3 - SharePoint framework – une nouvelle expérience de développement - Gaetan...D3 - SharePoint framework – une nouvelle expérience de développement - Gaetan...
D3 - SharePoint framework – une nouvelle expérience de développement - Gaetan...SPS Paris
 
ASP.NET Web API & Azure API Management
ASP.NET Web API & Azure API ManagementASP.NET Web API & Azure API Management
ASP.NET Web API & Azure API ManagementMicrosoft
 
Entity Framework 7 : nouvelle version majeure d’Entity Framework
Entity Framework 7 : nouvelle version majeure d’Entity FrameworkEntity Framework 7 : nouvelle version majeure d’Entity Framework
Entity Framework 7 : nouvelle version majeure d’Entity FrameworkMicrosoft
 
D6 - Les nouveautés SPFx - Olivier Carpentier
D6 - Les nouveautés SPFx - Olivier CarpentierD6 - Les nouveautés SPFx - Olivier Carpentier
D6 - Les nouveautés SPFx - Olivier CarpentierSPS Paris
 
Quoi de neuf dans ASP.NET MVC 4
Quoi de neuf dans ASP.NET MVC 4Quoi de neuf dans ASP.NET MVC 4
Quoi de neuf dans ASP.NET MVC 4Microsoft
 
M20486 formation-developper-des-applications-web-asp-net-mvc-4
M20486 formation-developper-des-applications-web-asp-net-mvc-4M20486 formation-developper-des-applications-web-asp-net-mvc-4
M20486 formation-developper-des-applications-web-asp-net-mvc-4CERTyou Formation
 
Microsoft DevOps Day 2015 02122015 - Introduction
Microsoft DevOps Day 2015 02122015 - IntroductionMicrosoft DevOps Day 2015 02122015 - Introduction
Microsoft DevOps Day 2015 02122015 - IntroductionSamuel Metias
 

Tendances (20)

20140227 - injection de dépendances - mug lyon
20140227 - injection de dépendances - mug lyon20140227 - injection de dépendances - mug lyon
20140227 - injection de dépendances - mug lyon
 
5- [ASP.NET Core] Devops : VSTS, Git, Azure, Docker, Linux
5- [ASP.NET Core] Devops : VSTS, Git, Azure, Docker, Linux5- [ASP.NET Core] Devops : VSTS, Git, Azure, Docker, Linux
5- [ASP.NET Core] Devops : VSTS, Git, Azure, Docker, Linux
 
Paris container day rex younited credit
Paris container day   rex younited creditParis container day   rex younited credit
Paris container day rex younited credit
 
Afup day 2021 Développez un site e-commerce Headless avec Sylius
Afup day 2021   Développez un site e-commerce Headless avec SyliusAfup day 2021   Développez un site e-commerce Headless avec Sylius
Afup day 2021 Développez un site e-commerce Headless avec Sylius
 
Présentation partner coliseum 1
Présentation partner coliseum 1Présentation partner coliseum 1
Présentation partner coliseum 1
 
Présentation partner coliseum
Présentation partner coliseumPrésentation partner coliseum
Présentation partner coliseum
 
ASP.NET 5: la révolution est en marche
ASP.NET 5: la révolution est en marcheASP.NET 5: la révolution est en marche
ASP.NET 5: la révolution est en marche
 
Introduction à ASP.NET Core
Introduction à ASP.NET CoreIntroduction à ASP.NET Core
Introduction à ASP.NET Core
 
L'e-commerce sans accroc avec Sylius
L'e-commerce sans accroc avec SyliusL'e-commerce sans accroc avec Sylius
L'e-commerce sans accroc avec Sylius
 
Wd601 g formation-developper-des-applications-mobiles-avec-ibm-worklight
Wd601 g formation-developper-des-applications-mobiles-avec-ibm-worklightWd601 g formation-developper-des-applications-mobiles-avec-ibm-worklight
Wd601 g formation-developper-des-applications-mobiles-avec-ibm-worklight
 
Xamarin + mvvm cross
Xamarin + mvvm crossXamarin + mvvm cross
Xamarin + mvvm cross
 
D3 - SharePoint framework – une nouvelle expérience de développement - Gaetan...
D3 - SharePoint framework – une nouvelle expérience de développement - Gaetan...D3 - SharePoint framework – une nouvelle expérience de développement - Gaetan...
D3 - SharePoint framework – une nouvelle expérience de développement - Gaetan...
 
ASP.NET Web API & Azure API Management
ASP.NET Web API & Azure API ManagementASP.NET Web API & Azure API Management
ASP.NET Web API & Azure API Management
 
Outsource SQL Server
Outsource SQL ServerOutsource SQL Server
Outsource SQL Server
 
Entity Framework 7 : nouvelle version majeure d’Entity Framework
Entity Framework 7 : nouvelle version majeure d’Entity FrameworkEntity Framework 7 : nouvelle version majeure d’Entity Framework
Entity Framework 7 : nouvelle version majeure d’Entity Framework
 
D6 - Les nouveautés SPFx - Olivier Carpentier
D6 - Les nouveautés SPFx - Olivier CarpentierD6 - Les nouveautés SPFx - Olivier Carpentier
D6 - Les nouveautés SPFx - Olivier Carpentier
 
Quoi de neuf dans ASP.NET MVC 4
Quoi de neuf dans ASP.NET MVC 4Quoi de neuf dans ASP.NET MVC 4
Quoi de neuf dans ASP.NET MVC 4
 
M20486 formation-developper-des-applications-web-asp-net-mvc-4
M20486 formation-developper-des-applications-web-asp-net-mvc-4M20486 formation-developper-des-applications-web-asp-net-mvc-4
M20486 formation-developper-des-applications-web-asp-net-mvc-4
 
XebiConFr 15 - Développer dans le Cloud
XebiConFr 15 - Développer dans le CloudXebiConFr 15 - Développer dans le Cloud
XebiConFr 15 - Développer dans le Cloud
 
Microsoft DevOps Day 2015 02122015 - Introduction
Microsoft DevOps Day 2015 02122015 - IntroductionMicrosoft DevOps Day 2015 02122015 - Introduction
Microsoft DevOps Day 2015 02122015 - Introduction
 

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

10 tips pour améliorer les performances de vos applications Windows 8
10 tips pour améliorer les performances de vos applications Windows 810 tips pour améliorer les performances de vos applications Windows 8
10 tips pour améliorer les performances de vos applications Windows 8Microsoft
 
Gab2015 aurelien regat-barrel_des applicationsclientesportablesgraceaucppmoderne
Gab2015 aurelien regat-barrel_des applicationsclientesportablesgraceaucppmoderneGab2015 aurelien regat-barrel_des applicationsclientesportablesgraceaucppmoderne
Gab2015 aurelien regat-barrel_des applicationsclientesportablesgraceaucppmoderneVincent Thavonekham-Pro
 
Fichier, Nouveau projet… Et après ?
Fichier, Nouveau projet… Et après ?Fichier, Nouveau projet… Et après ?
Fichier, Nouveau projet… Et après ?Microsoft
 
Tech Conf n°1 - Développement natif d'applications mobiles
Tech Conf n°1 - Développement natif d'applications mobilesTech Conf n°1 - Développement natif d'applications mobiles
Tech Conf n°1 - Développement natif d'applications mobilesMichael Laguerre
 
Sophiacom au salon Le Mobile 2.0 2011
Sophiacom au salon Le Mobile 2.0 2011Sophiacom au salon Le Mobile 2.0 2011
Sophiacom au salon Le Mobile 2.0 2011Sophiacom
 
Calculus System Academy:Devenez un développeur Full stack
Calculus System Academy:Devenez un développeur Full stackCalculus System Academy:Devenez un développeur Full stack
Calculus System Academy:Devenez un développeur Full stackCalculus System SARL
 
Au coeur du framework .net 4.5.1
Au coeur du framework .net 4.5.1Au coeur du framework .net 4.5.1
Au coeur du framework .net 4.5.1Cellenza
 
Livraison en continue avec l'outillage devops - Jenkins, Ansible, Docker et ...
Livraison en continue avec l'outillage devops - Jenkins, Ansible, Docker et  ...Livraison en continue avec l'outillage devops - Jenkins, Ansible, Docker et  ...
Livraison en continue avec l'outillage devops - Jenkins, Ansible, Docker et ...Jasmine Conseil
 
Calculus System Academy:Devenez un développeur Full stack
Calculus System Academy:Devenez un développeur Full stackCalculus System Academy:Devenez un développeur Full stack
Calculus System Academy:Devenez un développeur Full stackCalculus System SARL
 
Développer des applications iOS et Android avec c# grâce à Xamarin par Cyril ...
Développer des applications iOS et Android avec c# grâce à Xamarin par Cyril ...Développer des applications iOS et Android avec c# grâce à Xamarin par Cyril ...
Développer des applications iOS et Android avec c# grâce à Xamarin par Cyril ...SOAT
 
What’s Next Replay! Lyon 2011 - G. Darmont
What’s Next Replay! Lyon 2011 - G. DarmontWhat’s Next Replay! Lyon 2011 - G. Darmont
What’s Next Replay! Lyon 2011 - G. DarmontZenika
 
Architecturez vos applications mobiles avec Azure et Xamarin
Architecturez vos applications mobiles avec Azure et XamarinArchitecturez vos applications mobiles avec Azure et Xamarin
Architecturez vos applications mobiles avec Azure et XamarinThierry Buisson
 
Introduction à DevOps
Introduction à DevOpsIntroduction à DevOps
Introduction à DevOpsMicrosoft
 
Qualité & Industrialisation des développements mobiles sur iOS & Android
Qualité & Industrialisation des développements mobiles sur iOS & AndroidQualité & Industrialisation des développements mobiles sur iOS & Android
Qualité & Industrialisation des développements mobiles sur iOS & AndroidThibaud CAVIN
 

Similaire à [XamarinDay] Développez de manière 100% native avec Xamarin (20)

10 tips pour améliorer les performances de vos applications Windows 8
10 tips pour améliorer les performances de vos applications Windows 810 tips pour améliorer les performances de vos applications Windows 8
10 tips pour améliorer les performances de vos applications Windows 8
 
Gab2015 aurelien regat-barrel_des applicationsclientesportablesgraceaucppmoderne
Gab2015 aurelien regat-barrel_des applicationsclientesportablesgraceaucppmoderneGab2015 aurelien regat-barrel_des applicationsclientesportablesgraceaucppmoderne
Gab2015 aurelien regat-barrel_des applicationsclientesportablesgraceaucppmoderne
 
Développement web mobile avec IONIC 2
Développement web mobile avec IONIC 2Développement web mobile avec IONIC 2
Développement web mobile avec IONIC 2
 
Usine Logicielle 2013
Usine Logicielle 2013Usine Logicielle 2013
Usine Logicielle 2013
 
REX react native
REX react nativeREX react native
REX react native
 
Native script
Native scriptNative script
Native script
 
WPF MVVM
WPF MVVMWPF MVVM
WPF MVVM
 
Fichier, Nouveau projet… Et après ?
Fichier, Nouveau projet… Et après ?Fichier, Nouveau projet… Et après ?
Fichier, Nouveau projet… Et après ?
 
La Rochelle workshop 2016
La Rochelle workshop 2016La Rochelle workshop 2016
La Rochelle workshop 2016
 
Tech Conf n°1 - Développement natif d'applications mobiles
Tech Conf n°1 - Développement natif d'applications mobilesTech Conf n°1 - Développement natif d'applications mobiles
Tech Conf n°1 - Développement natif d'applications mobiles
 
Sophiacom au salon Le Mobile 2.0 2011
Sophiacom au salon Le Mobile 2.0 2011Sophiacom au salon Le Mobile 2.0 2011
Sophiacom au salon Le Mobile 2.0 2011
 
Calculus System Academy:Devenez un développeur Full stack
Calculus System Academy:Devenez un développeur Full stackCalculus System Academy:Devenez un développeur Full stack
Calculus System Academy:Devenez un développeur Full stack
 
Au coeur du framework .net 4.5.1
Au coeur du framework .net 4.5.1Au coeur du framework .net 4.5.1
Au coeur du framework .net 4.5.1
 
Livraison en continue avec l'outillage devops - Jenkins, Ansible, Docker et ...
Livraison en continue avec l'outillage devops - Jenkins, Ansible, Docker et  ...Livraison en continue avec l'outillage devops - Jenkins, Ansible, Docker et  ...
Livraison en continue avec l'outillage devops - Jenkins, Ansible, Docker et ...
 
Calculus System Academy:Devenez un développeur Full stack
Calculus System Academy:Devenez un développeur Full stackCalculus System Academy:Devenez un développeur Full stack
Calculus System Academy:Devenez un développeur Full stack
 
Développer des applications iOS et Android avec c# grâce à Xamarin par Cyril ...
Développer des applications iOS et Android avec c# grâce à Xamarin par Cyril ...Développer des applications iOS et Android avec c# grâce à Xamarin par Cyril ...
Développer des applications iOS et Android avec c# grâce à Xamarin par Cyril ...
 
What’s Next Replay! Lyon 2011 - G. Darmont
What’s Next Replay! Lyon 2011 - G. DarmontWhat’s Next Replay! Lyon 2011 - G. Darmont
What’s Next Replay! Lyon 2011 - G. Darmont
 
Architecturez vos applications mobiles avec Azure et Xamarin
Architecturez vos applications mobiles avec Azure et XamarinArchitecturez vos applications mobiles avec Azure et Xamarin
Architecturez vos applications mobiles avec Azure et Xamarin
 
Introduction à DevOps
Introduction à DevOpsIntroduction à DevOps
Introduction à DevOps
 
Qualité & Industrialisation des développements mobiles sur iOS & Android
Qualité & Industrialisation des développements mobiles sur iOS & AndroidQualité & Industrialisation des développements mobiles sur iOS & Android
Qualité & Industrialisation des développements mobiles sur iOS & Android
 

Plus de Cellenza

The PostBuildEvent : Retour sur la //Build 2017
The PostBuildEvent : Retour sur la //Build 2017The PostBuildEvent : Retour sur la //Build 2017
The PostBuildEvent : Retour sur la //Build 2017Cellenza
 
DevCon 3 : Containérisation d’applications
DevCon 3 : Containérisation d’applicationsDevCon 3 : Containérisation d’applications
DevCon 3 : Containérisation d’applicationsCellenza
 
DevCon 3 : BOT Framework & Luis
DevCon 3 : BOT Framework & LuisDevCon 3 : BOT Framework & Luis
DevCon 3 : BOT Framework & LuisCellenza
 
DevCon 3 : Azure API Management
DevCon 3 : Azure API ManagementDevCon 3 : Azure API Management
DevCon 3 : Azure API ManagementCellenza
 
02 - [ASP.NET Core] ASP.NET Core MVC
02 - [ASP.NET Core] ASP.NET Core MVC 02 - [ASP.NET Core] ASP.NET Core MVC
02 - [ASP.NET Core] ASP.NET Core MVC Cellenza
 
03 - [ASP.NET Core] Services RESTful et SPA
03 - [ASP.NET Core] Services RESTful et SPA 03 - [ASP.NET Core] Services RESTful et SPA
03 - [ASP.NET Core] Services RESTful et SPA Cellenza
 
04 - [ASP.NET Core] Entity Framework Core
04 - [ASP.NET Core] Entity Framework Core 04 - [ASP.NET Core] Entity Framework Core
04 - [ASP.NET Core] Entity Framework Core Cellenza
 
05 - [ASP.NET Core] Devops : VSTS, Git, Azure, Docker, Linux
05 - [ASP.NET Core] Devops : VSTS, Git, Azure, Docker, Linux05 - [ASP.NET Core] Devops : VSTS, Git, Azure, Docker, Linux
05 - [ASP.NET Core] Devops : VSTS, Git, Azure, Docker, LinuxCellenza
 
Integration Summit 16 - Keynote Integration Trends
Integration Summit 16 - Keynote Integration TrendsIntegration Summit 16 - Keynote Integration Trends
Integration Summit 16 - Keynote Integration TrendsCellenza
 
Integration Summit 16 - Tour d'horizon d'Azure Logic Apps
Integration Summit 16 - Tour d'horizon d'Azure Logic AppsIntegration Summit 16 - Tour d'horizon d'Azure Logic Apps
Integration Summit 16 - Tour d'horizon d'Azure Logic AppsCellenza
 
Integration Summit 16 - Les nouveautés BizTalk Server 2016
Integration Summit 16 - Les nouveautés BizTalk Server 2016Integration Summit 16 - Les nouveautés BizTalk Server 2016
Integration Summit 16 - Les nouveautés BizTalk Server 2016Cellenza
 
Integration Summit 16 - Hybrid Integration
Integration Summit 16 - Hybrid IntegrationIntegration Summit 16 - Hybrid Integration
Integration Summit 16 - Hybrid IntegrationCellenza
 
Integration Summit 16 - Azure Logic App, bonnes pratiques et industrialisatio...
Integration Summit 16 - Azure Logic App, bonnes pratiques et industrialisatio...Integration Summit 16 - Azure Logic App, bonnes pratiques et industrialisatio...
Integration Summit 16 - Azure Logic App, bonnes pratiques et industrialisatio...Cellenza
 
Integration Summit 16 : IoT, Service Fabric et Logic App
Integration Summit 16 : IoT, Service Fabric et Logic AppIntegration Summit 16 : IoT, Service Fabric et Logic App
Integration Summit 16 : IoT, Service Fabric et Logic AppCellenza
 
Integration Summit 16 : Azure API Management
Integration Summit 16 : Azure API Management Integration Summit 16 : Azure API Management
Integration Summit 16 : Azure API Management Cellenza
 
Integration Summit 16 - Citizen Integrator / Flow - Power apps
Integration Summit 16 - Citizen Integrator / Flow - Power appsIntegration Summit 16 - Citizen Integrator / Flow - Power apps
Integration Summit 16 - Citizen Integrator / Flow - Power appsCellenza
 
[XamarinDay] Xamarin History - From 0 to microsoft acquisition !
[XamarinDay] Xamarin History - From 0 to microsoft acquisition ![XamarinDay] Xamarin History - From 0 to microsoft acquisition !
[XamarinDay] Xamarin History - From 0 to microsoft acquisition !Cellenza
 
[XamarinDay] Développez en XAML avec Xamarin Forms
[XamarinDay] Développez en XAML avec Xamarin Forms[XamarinDay] Développez en XAML avec Xamarin Forms
[XamarinDay] Développez en XAML avec Xamarin FormsCellenza
 
[XamarinDay] Xamarin et le Cloud, better together !
[XamarinDay] Xamarin et le Cloud, better together ! [XamarinDay] Xamarin et le Cloud, better together !
[XamarinDay] Xamarin et le Cloud, better together ! Cellenza
 
[29/06] Paris Container Day - Microservices avec Azure
[29/06] Paris Container Day - Microservices avec Azure[29/06] Paris Container Day - Microservices avec Azure
[29/06] Paris Container Day - Microservices avec AzureCellenza
 

Plus de Cellenza (20)

The PostBuildEvent : Retour sur la //Build 2017
The PostBuildEvent : Retour sur la //Build 2017The PostBuildEvent : Retour sur la //Build 2017
The PostBuildEvent : Retour sur la //Build 2017
 
DevCon 3 : Containérisation d’applications
DevCon 3 : Containérisation d’applicationsDevCon 3 : Containérisation d’applications
DevCon 3 : Containérisation d’applications
 
DevCon 3 : BOT Framework & Luis
DevCon 3 : BOT Framework & LuisDevCon 3 : BOT Framework & Luis
DevCon 3 : BOT Framework & Luis
 
DevCon 3 : Azure API Management
DevCon 3 : Azure API ManagementDevCon 3 : Azure API Management
DevCon 3 : Azure API Management
 
02 - [ASP.NET Core] ASP.NET Core MVC
02 - [ASP.NET Core] ASP.NET Core MVC 02 - [ASP.NET Core] ASP.NET Core MVC
02 - [ASP.NET Core] ASP.NET Core MVC
 
03 - [ASP.NET Core] Services RESTful et SPA
03 - [ASP.NET Core] Services RESTful et SPA 03 - [ASP.NET Core] Services RESTful et SPA
03 - [ASP.NET Core] Services RESTful et SPA
 
04 - [ASP.NET Core] Entity Framework Core
04 - [ASP.NET Core] Entity Framework Core 04 - [ASP.NET Core] Entity Framework Core
04 - [ASP.NET Core] Entity Framework Core
 
05 - [ASP.NET Core] Devops : VSTS, Git, Azure, Docker, Linux
05 - [ASP.NET Core] Devops : VSTS, Git, Azure, Docker, Linux05 - [ASP.NET Core] Devops : VSTS, Git, Azure, Docker, Linux
05 - [ASP.NET Core] Devops : VSTS, Git, Azure, Docker, Linux
 
Integration Summit 16 - Keynote Integration Trends
Integration Summit 16 - Keynote Integration TrendsIntegration Summit 16 - Keynote Integration Trends
Integration Summit 16 - Keynote Integration Trends
 
Integration Summit 16 - Tour d'horizon d'Azure Logic Apps
Integration Summit 16 - Tour d'horizon d'Azure Logic AppsIntegration Summit 16 - Tour d'horizon d'Azure Logic Apps
Integration Summit 16 - Tour d'horizon d'Azure Logic Apps
 
Integration Summit 16 - Les nouveautés BizTalk Server 2016
Integration Summit 16 - Les nouveautés BizTalk Server 2016Integration Summit 16 - Les nouveautés BizTalk Server 2016
Integration Summit 16 - Les nouveautés BizTalk Server 2016
 
Integration Summit 16 - Hybrid Integration
Integration Summit 16 - Hybrid IntegrationIntegration Summit 16 - Hybrid Integration
Integration Summit 16 - Hybrid Integration
 
Integration Summit 16 - Azure Logic App, bonnes pratiques et industrialisatio...
Integration Summit 16 - Azure Logic App, bonnes pratiques et industrialisatio...Integration Summit 16 - Azure Logic App, bonnes pratiques et industrialisatio...
Integration Summit 16 - Azure Logic App, bonnes pratiques et industrialisatio...
 
Integration Summit 16 : IoT, Service Fabric et Logic App
Integration Summit 16 : IoT, Service Fabric et Logic AppIntegration Summit 16 : IoT, Service Fabric et Logic App
Integration Summit 16 : IoT, Service Fabric et Logic App
 
Integration Summit 16 : Azure API Management
Integration Summit 16 : Azure API Management Integration Summit 16 : Azure API Management
Integration Summit 16 : Azure API Management
 
Integration Summit 16 - Citizen Integrator / Flow - Power apps
Integration Summit 16 - Citizen Integrator / Flow - Power appsIntegration Summit 16 - Citizen Integrator / Flow - Power apps
Integration Summit 16 - Citizen Integrator / Flow - Power apps
 
[XamarinDay] Xamarin History - From 0 to microsoft acquisition !
[XamarinDay] Xamarin History - From 0 to microsoft acquisition ![XamarinDay] Xamarin History - From 0 to microsoft acquisition !
[XamarinDay] Xamarin History - From 0 to microsoft acquisition !
 
[XamarinDay] Développez en XAML avec Xamarin Forms
[XamarinDay] Développez en XAML avec Xamarin Forms[XamarinDay] Développez en XAML avec Xamarin Forms
[XamarinDay] Développez en XAML avec Xamarin Forms
 
[XamarinDay] Xamarin et le Cloud, better together !
[XamarinDay] Xamarin et le Cloud, better together ! [XamarinDay] Xamarin et le Cloud, better together !
[XamarinDay] Xamarin et le Cloud, better together !
 
[29/06] Paris Container Day - Microservices avec Azure
[29/06] Paris Container Day - Microservices avec Azure[29/06] Paris Container Day - Microservices avec Azure
[29/06] Paris Container Day - Microservices avec Azure
 

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

  • 2. 1 Développement natif 4 Pourquoi ? 2 iOS 5 MVVM 3 Android 6 Points clefs
  • 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, ....
  • 5. Déploiement Génération de packages natifs prêt à être déployés sur les stores
  • 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
  • 8. iOS Plutôt que des mots, démo !
  • 9. Android Non pas deux fois quand même...
  • 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...)
  • 12. MVVM Ça marche dans les deux sens
  • 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 !