SlideShare a Scribd company logo
1 of 49
PLATEFORME

Mutualisation des développements avec VS2012
Jonathan PAMPHILE – Consultant expert Microsoft-Agile (Cellenza)
Benoit LAUNAY – Chef de produit Visual Studio (Microsoft)
Mutualisation des développements avec VS2012

Cellenza
Mutualisation des développements avec VS2012

Cellenza
Présentation de Cellenza
Mutualisation des développements avec VS2012

Utilisation du pattern Model-View-ViewModel
Mutualisation des développements avec VS2012

Utilisation du pattern Model-View-ViewModel
Séparation de l’UI de la logique de l’application
Mutualisation des développements avec VS2012

Utilisation du pattern Model-View-ViewModel
Séparation de l’UI de la logique de l’application

 Développeurs travaillent sur la logique de l’application
Mutualisation des développements avec VS2012

Utilisation du pattern Model-View-ViewModel
Séparation de l’UI de la logique de l’application

 Développeurs travaillent sur la logique de l’application
 Designers travaillent sur l’interface
Mutualisation des développements avec VS2012

Utilisation du pattern Model-View-ViewModel
Application composée de trois composants
Mutualisation des développements avec VS2012

Utilisation du pattern Model-View-ViewModel
Application composée de trois composants
 View
Mutualisation des développements avec VS2012

Utilisation du pattern Model-View-ViewModel
Application composée de trois composants
 View
 View Model
Mutualisation des développements avec VS2012

Utilisation du pattern Model-View-ViewModel
Application composée de trois composants
 View
 View Model
 Model
Mutualisation des développements avec VS2012

Utilisation du pattern Model-View-ViewModel
•

Model : représente le modèle de données consommé par l’application
Mutualisation des développements avec VS2012

Utilisation du pattern Model-View-ViewModel
•

Model : représente le modèle de données consommé par l’application

•

View : code XAML définissant et mettant en forme ce que voit l’utilisateur
Mutualisation des développements avec VS2012

Utilisation du pattern Model-View-ViewModel
•

Model : représente le modèle de données consommé par l’application

•

View : code XAML définissant et mettant en forme ce que voit l’utilisateur

•

View Model : contient la logique de gestion des données du modèle et les lie à l’UI
Mutualisation des développements avec VS2012

Utilisation du pattern Model-View-ViewModel
•

View spécifique à la plateforme
Mutualisation des développements avec VS2012

Utilisation du pattern Model-View-ViewModel
•

View spécifique à la plateforme

•

View Model et Model potentiellement

portables ou réutilisables
Mutualisation des développements avec VS2012

Utilisation des Portable Class Libraries
Mutualisation des développements avec VS2012

Utilisation des Portable Class Libraries
Bibliothèques de composants utilisables par différents types plateformes
Mutualisation des développements avec VS2012

Utilisation des Portable Class Libraries
Bibliothèques de composants utilisables par différents types plateformes
Mutualisation des développements avec VS2012

Utilisation des Portable Class Libraries
Mutualisation des développements avec VS2012

Utilisation des Portable Class Libraries
Caractéristiques des portable class libraries :
Mutualisation des développements avec VS2012

Utilisation des Portable Class Libraries
Caractéristiques des portable class libraries :
 code managé (C# ou VB)
Mutualisation des développements avec VS2012

Utilisation des Portable Class Libraries
Caractéristiques des portable class libraries :
 code managé (C# ou VB)
 ne pas utiliser la compilation conditionnelle
Mutualisation des développements avec VS2012

Utilisation des Portable Class Libraries
Caractéristiques des portable class libraries :
 code managé (C# ou VB)
 ne pas utiliser la compilation conditionnelle

 ne pas utiliser d’APIs Windows Runtime
Mutualisation des développements avec VS2012

Utilisation des Portable Class Libraries
Caractéristiques des portable class libraries :
 code managé (C# ou VB)
 ne pas utiliser la compilation conditionnelle

 ne pas utiliser d’APIs Windows Runtime
 ne pas utiliser d’éléments de l’UI
Mutualisation des développements avec VS2012

Utilisation des Portable Class Libraries
Portable class library et pattern MVVM
Mutualisation des développements avec VS2012

Utilisation des Portable Class Libraries
Portable class library et pattern MVVM
Mutualisation des développements avec VS2012

Utilisation des Portable Class Libraries
Portable class library et pattern MVVM

 Model et ViewModel potentiellement portables
Mutualisation des développements avec VS2012

Utilisation des Portable Class Libraries
Portable class library et pattern MVVM

 Model et ViewModel potentiellement portables

 View et code de démarrage spécifique à la plateforme
Mutualisation des développements avec VS2012

Utilisation des Portable Class Libraries
Portable class library et pattern MVVM

 Model et ViewModel potentiellement portables

 View et code de démarrage spécifique à la plateforme
 Si code spécifique dans le ViewModel, utilisation d’interfaces communes et implémentation

de ces fonctionnalités dans du code spécifique
Mutualisation des développements avec VS2012

Utilisation de fichiers liés
Mutualisation des développements avec VS2012

Utilisation de fichiers liés
Partage de code en utilisant un même fichier dans plusieurs projets
Mutualisation des développements avec VS2012

Utilisation de fichiers liés
Partage de code en utilisant un même fichier dans plusieurs projets

Code éligible :
Mutualisation des développements avec VS2012

Utilisation de fichiers liés
Partage de code en utilisant un même fichier dans plusieurs projets

Code éligible :
 Logique applicative en commun mais non portable
Mutualisation des développements avec VS2012

Utilisation de fichiers liés
Partage de code en utilisant un même fichier dans plusieurs projets

Code éligible :
 Logique applicative en commun mais non portable
 User Controls indépendants de la plateforme
Mutualisation des développements avec VS2012

Partage de composants XAML
Mutualisation des développements avec VS2012

Partage de composants XAML

Partage de composants XAML entre Windows 8 et Windows Phone 8
Mutualisation des développements avec VS2012

Partage de composants XAML

Partage de composants XAML entre Windows 8 et Windows Phone 8

 Utilisation de User Controls
Mutualisation des développements avec VS2012

Partage de composants XAML
Limitation du partage de composants XAML
Mutualisation des développements avec VS2012

Partage de composants XAML
Limitation du partage de composants XAML
•

Implémentation des éléments UI spécifique à chaque plateforme
Mutualisation des développements avec VS2012

Partage de composants XAML
Limitation du partage de composants XAML
•

Implémentation des éléments UI spécifique à chaque plateforme

•

Namespaces XAML préfixés différemment entre Windows 8 et Windows Phone 8

Windows Phone 8: xmlns:phone="clr-namespace:Microsoft.Phone.Controls"
Windows 8:

xmlns:local="using:Win8App"
Mutualisation des développements avec VS2012

Partage de composants XAML
Limitation du partage de composants XAML
•

Implémentation des éléments UI spécifique à chaque plateforme

•

Namespaces XAML préfixés différemment entre Windows 8 et Windows Phone 8

•

Compilation conditionnelle non prise en charge en XAML
Mutualisation des développements avec VS2012

Utilisation de la compilation conditionnelle
Mutualisation des développements avec VS2012

Utilisation de la compilation conditionnelle
•

Isolation du code spécifique à chaque plateforme à la compilation
Mutualisation des développements avec VS2012

Utilisation de la compilation conditionnelle
•

Isolation du code spécifique à chaque plateforme à la compilation

public void PlatformSpecificMethod()
{
#if NETFX_CORE
// code Windows 8
#else
// code Windows Phone 8
#endif
}
Mutualisation des développements avec VS2012

Utilisation de la compilation conditionnelle
•

Isolation du code spécifique à chaque plateforme à la compilation

public void PlatformSpecificMethod()
{
#if NETFX_CORE
// code Windows 8
#else
// code Windows Phone 8
#endif
}
NETFX_CORE : directive de compilation pour les projets Windows 8
Mutualisation des développements avec VS2012

Démos !
Mutualisation des développements avec VS2012

Résumé
Ce qu’on a vu, ce qu’il faut savoir

Visual Studio permet de mutualiser les développements
entre Windows 8 et Windows Phone 8
Pour aller plus loin :
• contact
• http://visualstudio.fr/bonapp
UN PROJET,
DES QUESTIONS ?
Retrouvez toutes les
émissions sur
visualstudio.fr/bonapp

More Related Content

What's hot

Asp.net Présentation de L'application "Organizer"
Asp.net Présentation de L'application "Organizer"Asp.net Présentation de L'application "Organizer"
Asp.net Présentation de L'application "Organizer"Nazih Heni
 
Accéder au développement Dot.Net et Asp.Net
Accéder au développement Dot.Net et Asp.NetAccéder au développement Dot.Net et Asp.Net
Accéder au développement Dot.Net et Asp.NetFrédéric Vandenbriele
 
Titanium, write in java script, run native everywhere
Titanium, write in java script, run native everywhereTitanium, write in java script, run native everywhere
Titanium, write in java script, run native everywhereAyoub Zamouchi
 

What's hot (8)

Asp.net Présentation de L'application "Organizer"
Asp.net Présentation de L'application "Organizer"Asp.net Présentation de L'application "Organizer"
Asp.net Présentation de L'application "Organizer"
 
Introduction à ASP.NET
Introduction à ASP.NETIntroduction à ASP.NET
Introduction à ASP.NET
 
Ado.net database access
Ado.net database accessAdo.net database access
Ado.net database access
 
Présentation Flex Mobile
Présentation Flex MobilePrésentation Flex Mobile
Présentation Flex Mobile
 
Initiation à ASP.NET 4.0
Initiation à ASP.NET 4.0Initiation à ASP.NET 4.0
Initiation à ASP.NET 4.0
 
WPF MVVM
WPF MVVMWPF MVVM
WPF MVVM
 
Accéder au développement Dot.Net et Asp.Net
Accéder au développement Dot.Net et Asp.NetAccéder au développement Dot.Net et Asp.Net
Accéder au développement Dot.Net et Asp.Net
 
Titanium, write in java script, run native everywhere
Titanium, write in java script, run native everywhereTitanium, write in java script, run native everywhere
Titanium, write in java script, run native everywhere
 

Viewers also liked

Practicas de informatica
Practicas de informaticaPracticas de informatica
Practicas de informaticaKarla Montiel
 
Hollywood Au Service Des Innovations US
Hollywood Au Service Des Innovations USHollywood Au Service Des Innovations US
Hollywood Au Service Des Innovations USAri Massoudi
 
Biocom informedereferencia
Biocom informedereferenciaBiocom informedereferencia
Biocom informedereferenciabelen2150
 
Programme 2015 -Rencontres équestres de Lunéville 5ème édition
Programme 2015  -Rencontres équestres de Lunéville 5ème édition Programme 2015  -Rencontres équestres de Lunéville 5ème édition
Programme 2015 -Rencontres équestres de Lunéville 5ème édition Ici C Nancy Pro
 
©Midi express magazine n.3
©Midi express magazine n.3©Midi express magazine n.3
©Midi express magazine n.3olimac33240
 
Trendsetters
TrendsettersTrendsetters
Trendsettersinfluence
 
jambon iberique bellota espanol
jambon iberique bellota espanol
jambon iberique bellota espanol
jambon iberique bellota espanol clifford8hester08
 
Sistema Internacional De Medidas
Sistema Internacional De MedidasSistema Internacional De Medidas
Sistema Internacional De Medidascamilogonzcuellar
 
Actividad2.1 tecnologia educativa lidia_hurtado
Actividad2.1 tecnologia educativa lidia_hurtadoActividad2.1 tecnologia educativa lidia_hurtado
Actividad2.1 tecnologia educativa lidia_hurtado102345
 
ESCP-EAP: Vive les éco-entrepreneurs !
ESCP-EAP: Vive les éco-entrepreneurs !ESCP-EAP: Vive les éco-entrepreneurs !
ESCP-EAP: Vive les éco-entrepreneurs !jeunepousse
 
Comportamiento en diversos lugares yadira rodriguez
Comportamiento en diversos lugares yadira rodriguezComportamiento en diversos lugares yadira rodriguez
Comportamiento en diversos lugares yadira rodriguezJuan Vega
 
Historia de la ed
Historia de la edHistoria de la ed
Historia de la edfedo59
 
Ponència inaugural: Impacte de les polítiques socials en el benestar de la in...
Ponència inaugural: Impacte de les polítiques socials en el benestar de la in...Ponència inaugural: Impacte de les polítiques socials en el benestar de la in...
Ponència inaugural: Impacte de les polítiques socials en el benestar de la in...unicefcatalunya
 
Solucion de actividad 3
Solucion de actividad 3Solucion de actividad 3
Solucion de actividad 3dianahm92
 
Día del trabajador
Día del trabajadorDía del trabajador
Día del trabajadorrrrr521
 

Viewers also liked (20)

Practicas de informatica
Practicas de informaticaPracticas de informatica
Practicas de informatica
 
Hollywood Au Service Des Innovations US
Hollywood Au Service Des Innovations USHollywood Au Service Des Innovations US
Hollywood Au Service Des Innovations US
 
Garoe. L'Arbre de l'eau
Garoe. L'Arbre de l'eauGaroe. L'Arbre de l'eau
Garoe. L'Arbre de l'eau
 
Biocom informedereferencia
Biocom informedereferenciaBiocom informedereferencia
Biocom informedereferencia
 
Programme 2015 -Rencontres équestres de Lunéville 5ème édition
Programme 2015  -Rencontres équestres de Lunéville 5ème édition Programme 2015  -Rencontres équestres de Lunéville 5ème édition
Programme 2015 -Rencontres équestres de Lunéville 5ème édition
 
©Midi express magazine n.3
©Midi express magazine n.3©Midi express magazine n.3
©Midi express magazine n.3
 
Trendsetters
TrendsettersTrendsetters
Trendsetters
 
jambon iberique bellota espanol
jambon iberique bellota espanol
jambon iberique bellota espanol
jambon iberique bellota espanol
 
Revolucion virtual
Revolucion virtualRevolucion virtual
Revolucion virtual
 
Access
AccessAccess
Access
 
Sistema Internacional De Medidas
Sistema Internacional De MedidasSistema Internacional De Medidas
Sistema Internacional De Medidas
 
Actividad2.1 tecnologia educativa lidia_hurtado
Actividad2.1 tecnologia educativa lidia_hurtadoActividad2.1 tecnologia educativa lidia_hurtado
Actividad2.1 tecnologia educativa lidia_hurtado
 
ESCP-EAP: Vive les éco-entrepreneurs !
ESCP-EAP: Vive les éco-entrepreneurs !ESCP-EAP: Vive les éco-entrepreneurs !
ESCP-EAP: Vive les éco-entrepreneurs !
 
Comportamiento en diversos lugares yadira rodriguez
Comportamiento en diversos lugares yadira rodriguezComportamiento en diversos lugares yadira rodriguez
Comportamiento en diversos lugares yadira rodriguez
 
Historia de la ed
Historia de la edHistoria de la ed
Historia de la ed
 
Que es un blog
Que es un blogQue es un blog
Que es un blog
 
Macro
MacroMacro
Macro
 
Ponència inaugural: Impacte de les polítiques socials en el benestar de la in...
Ponència inaugural: Impacte de les polítiques socials en el benestar de la in...Ponència inaugural: Impacte de les polítiques socials en el benestar de la in...
Ponència inaugural: Impacte de les polítiques socials en el benestar de la in...
 
Solucion de actividad 3
Solucion de actividad 3Solucion de actividad 3
Solucion de actividad 3
 
Día del trabajador
Día del trabajadorDía del trabajador
Día del trabajador
 

Similar to Mutualisation des développements avec VS2012

Initiation au développement mobile sous Android
Initiation au développement mobile sous AndroidInitiation au développement mobile sous Android
Initiation au développement mobile sous AndroidAbdelkader Rhouati
 
Cours n°1.1-Introduction.pdf angularrrrr
Cours n°1.1-Introduction.pdf angularrrrrCours n°1.1-Introduction.pdf angularrrrr
Cours n°1.1-Introduction.pdf angularrrrrinesrdissi60
 
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
 
Android Studio, premier contact
Android Studio, premier contactAndroid Studio, premier contact
Android Studio, premier contactJasmine Conseil
 
Android Studio, premier contact
Android Studio, premier contactAndroid Studio, premier contact
Android Studio, premier contactJasmine Conseil
 
What’s Next Replay! Lyon 2011 - F. Fornaciari
What’s Next Replay! Lyon 2011 - F. FornaciariWhat’s Next Replay! Lyon 2011 - F. Fornaciari
What’s Next Replay! Lyon 2011 - F. FornaciariZenika
 
Gui android eclipse
Gui android eclipseGui android eclipse
Gui android eclipseESPRIT
 
Le Developpement Web Aspnet2 Vb2005
Le Developpement Web Aspnet2   Vb2005Le Developpement Web Aspnet2   Vb2005
Le Developpement Web Aspnet2 Vb2005Gregory Renard
 
Angular développer des applications .pdf
Angular développer des applications .pdfAngular développer des applications .pdf
Angular développer des applications .pdfimenhamada17
 
Gab17 lyon-Docker pour quoi faire - Cédric Leblond et Derue
Gab17 lyon-Docker pour quoi faire - Cédric Leblond et DerueGab17 lyon-Docker pour quoi faire - Cédric Leblond et Derue
Gab17 lyon-Docker pour quoi faire - Cédric Leblond et DerueAZUG FR
 
Oracle Developer adf
Oracle Developer adfOracle Developer adf
Oracle Developer adfBacely YoroBi
 

Similar to Mutualisation des développements avec VS2012 (20)

Initiation au développement mobile sous Android
Initiation au développement mobile sous AndroidInitiation au développement mobile sous Android
Initiation au développement mobile sous Android
 
Cours n°1.1-Introduction.pdf angularrrrr
Cours n°1.1-Introduction.pdf angularrrrrCours n°1.1-Introduction.pdf angularrrrr
Cours n°1.1-Introduction.pdf angularrrrr
 
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
 
Présentation Angular 2
Présentation Angular 2 Présentation Angular 2
Présentation Angular 2
 
Architecture .net
Architecture  .netArchitecture  .net
Architecture .net
 
Android Studio, premier contact
Android Studio, premier contactAndroid Studio, premier contact
Android Studio, premier contact
 
Android Studio, premier contact
Android Studio, premier contactAndroid Studio, premier contact
Android Studio, premier contact
 
What’s Next Replay! Lyon 2011 - F. Fornaciari
What’s Next Replay! Lyon 2011 - F. FornaciariWhat’s Next Replay! Lyon 2011 - F. Fornaciari
What’s Next Replay! Lyon 2011 - F. Fornaciari
 
Gui android eclipse
Gui android eclipseGui android eclipse
Gui android eclipse
 
Gwt final
Gwt finalGwt final
Gwt final
 
Le Developpement Web Aspnet2 Vb2005
Le Developpement Web Aspnet2   Vb2005Le Developpement Web Aspnet2   Vb2005
Le Developpement Web Aspnet2 Vb2005
 
Java Server Faces - Beyond
Java Server Faces - BeyondJava Server Faces - Beyond
Java Server Faces - Beyond
 
ASP_NET_complet.pdf
ASP_NET_complet.pdfASP_NET_complet.pdf
ASP_NET_complet.pdf
 
Angular développer des applications .pdf
Angular développer des applications .pdfAngular développer des applications .pdf
Angular développer des applications .pdf
 
Gab17 lyon-Docker pour quoi faire - Cédric Leblond et Derue
Gab17 lyon-Docker pour quoi faire - Cédric Leblond et DerueGab17 lyon-Docker pour quoi faire - Cédric Leblond et Derue
Gab17 lyon-Docker pour quoi faire - Cédric Leblond et Derue
 
Angular 11
Angular 11Angular 11
Angular 11
 
Oracle Developer adf
Oracle Developer adfOracle Developer adf
Oracle Developer adf
 
Chapitre 1
Chapitre 1Chapitre 1
Chapitre 1
 
jQuery vs AngularJS
jQuery vs AngularJS jQuery vs AngularJS
jQuery vs AngularJS
 
React xp
React xpReact xp
React xp
 

More from Cellenza

Global AI Night - Azure ML visual interface
Global AI Night - Azure ML visual interfaceGlobal AI Night - Azure ML visual interface
Global AI Night - Azure ML visual interfaceCellenza
 
Soirée de lancement Visual Studio - .Net Core 3 et ASP.Net Core 3
Soirée de lancement Visual Studio - .Net Core 3 et ASP.Net Core 3Soirée de lancement Visual Studio - .Net Core 3 et ASP.Net Core 3
Soirée de lancement Visual Studio - .Net Core 3 et ASP.Net Core 3Cellenza
 
Soirée de lancement Visual Studio - VS for Mac & Xamarin
Soirée de lancement Visual Studio - VS for Mac & XamarinSoirée de lancement Visual Studio - VS for Mac & Xamarin
Soirée de lancement Visual Studio - VS for Mac & XamarinCellenza
 
Soirée de lancement Visual Studio - Live Share
Soirée de lancement Visual Studio - Live ShareSoirée de lancement Visual Studio - Live Share
Soirée de lancement Visual Studio - Live ShareCellenza
 
Soirée de lancement Visual Studio - Le développement sous VS19
Soirée de lancement Visual Studio - Le développement sous VS19Soirée de lancement Visual Studio - Le développement sous VS19
Soirée de lancement Visual Studio - Le développement sous VS19Cellenza
 
Soirée de lancement Visual Studio - Introduction
Soirée de lancement Visual Studio - IntroductionSoirée de lancement Visual Studio - Introduction
Soirée de lancement Visual Studio - IntroductionCellenza
 
Qu'est ce qu'une api en 2019 ?
Qu'est ce qu'une api en 2019 ? Qu'est ce qu'une api en 2019 ?
Qu'est ce qu'une api en 2019 ? Cellenza
 
Gouvernance Azure - Mettre en place sa politique de Gouvernance
Gouvernance Azure - Mettre en place sa politique de GouvernanceGouvernance Azure - Mettre en place sa politique de Gouvernance
Gouvernance Azure - Mettre en place sa politique de GouvernanceCellenza
 
Gouvernance Azure - Comprendre la facture Azure
Gouvernance Azure - Comprendre la facture AzureGouvernance Azure - Comprendre la facture Azure
Gouvernance Azure - Comprendre la facture AzureCellenza
 
Gouvernance Azure - La charte de nommage
Gouvernance Azure - La charte de nommageGouvernance Azure - La charte de nommage
Gouvernance Azure - La charte de nommageCellenza
 
Continuous monitoring : Dev to Ops
Continuous monitoring : Dev to OpsContinuous monitoring : Dev to Ops
Continuous monitoring : Dev to OpsCellenza
 
MobileDay - Parcours 2 Crossplateform
MobileDay - Parcours 2 CrossplateformMobileDay - Parcours 2 Crossplateform
MobileDay - Parcours 2 CrossplateformCellenza
 
MobileDay - Session 3 La Mobilité selon Microsoft
MobileDay - Session 3 La Mobilité selon MicrosoftMobileDay - Session 3 La Mobilité selon Microsoft
MobileDay - Session 3 La Mobilité selon MicrosoftCellenza
 
MobileDay - Parcours 1 Hybride (Cordova)
MobileDay - Parcours 1 Hybride  (Cordova)MobileDay - Parcours 1 Hybride  (Cordova)
MobileDay - Parcours 1 Hybride (Cordova)Cellenza
 
MobileDay - Parcours 3 : Natif (Universal Apps)
MobileDay - Parcours 3 : Natif (Universal Apps)MobileDay - Parcours 3 : Natif (Universal Apps)
MobileDay - Parcours 3 : Natif (Universal Apps)Cellenza
 
MobileDay - Session 2 REX IDEX
MobileDay - Session 2 REX IDEXMobileDay - Session 2 REX IDEX
MobileDay - Session 2 REX IDEXCellenza
 
Biztalk summit - IOT
Biztalk summit - IOTBiztalk summit - IOT
Biztalk summit - IOTCellenza
 
DevOps Day - Continuous Delivery
DevOps Day - Continuous DeliveryDevOps Day - Continuous Delivery
DevOps Day - Continuous DeliveryCellenza
 
DevOps Day - Infrastructure As A Code
DevOps Day - Infrastructure As A CodeDevOps Day - Infrastructure As A Code
DevOps Day - Infrastructure As A CodeCellenza
 
Applications "legacy": testez-les avec Visual Studio 2012 sans modifier leurs...
Applications "legacy": testez-les avec Visual Studio 2012 sans modifier leurs...Applications "legacy": testez-les avec Visual Studio 2012 sans modifier leurs...
Applications "legacy": testez-les avec Visual Studio 2012 sans modifier leurs...Cellenza
 

More from Cellenza (20)

Global AI Night - Azure ML visual interface
Global AI Night - Azure ML visual interfaceGlobal AI Night - Azure ML visual interface
Global AI Night - Azure ML visual interface
 
Soirée de lancement Visual Studio - .Net Core 3 et ASP.Net Core 3
Soirée de lancement Visual Studio - .Net Core 3 et ASP.Net Core 3Soirée de lancement Visual Studio - .Net Core 3 et ASP.Net Core 3
Soirée de lancement Visual Studio - .Net Core 3 et ASP.Net Core 3
 
Soirée de lancement Visual Studio - VS for Mac & Xamarin
Soirée de lancement Visual Studio - VS for Mac & XamarinSoirée de lancement Visual Studio - VS for Mac & Xamarin
Soirée de lancement Visual Studio - VS for Mac & Xamarin
 
Soirée de lancement Visual Studio - Live Share
Soirée de lancement Visual Studio - Live ShareSoirée de lancement Visual Studio - Live Share
Soirée de lancement Visual Studio - Live Share
 
Soirée de lancement Visual Studio - Le développement sous VS19
Soirée de lancement Visual Studio - Le développement sous VS19Soirée de lancement Visual Studio - Le développement sous VS19
Soirée de lancement Visual Studio - Le développement sous VS19
 
Soirée de lancement Visual Studio - Introduction
Soirée de lancement Visual Studio - IntroductionSoirée de lancement Visual Studio - Introduction
Soirée de lancement Visual Studio - Introduction
 
Qu'est ce qu'une api en 2019 ?
Qu'est ce qu'une api en 2019 ? Qu'est ce qu'une api en 2019 ?
Qu'est ce qu'une api en 2019 ?
 
Gouvernance Azure - Mettre en place sa politique de Gouvernance
Gouvernance Azure - Mettre en place sa politique de GouvernanceGouvernance Azure - Mettre en place sa politique de Gouvernance
Gouvernance Azure - Mettre en place sa politique de Gouvernance
 
Gouvernance Azure - Comprendre la facture Azure
Gouvernance Azure - Comprendre la facture AzureGouvernance Azure - Comprendre la facture Azure
Gouvernance Azure - Comprendre la facture Azure
 
Gouvernance Azure - La charte de nommage
Gouvernance Azure - La charte de nommageGouvernance Azure - La charte de nommage
Gouvernance Azure - La charte de nommage
 
Continuous monitoring : Dev to Ops
Continuous monitoring : Dev to OpsContinuous monitoring : Dev to Ops
Continuous monitoring : Dev to Ops
 
MobileDay - Parcours 2 Crossplateform
MobileDay - Parcours 2 CrossplateformMobileDay - Parcours 2 Crossplateform
MobileDay - Parcours 2 Crossplateform
 
MobileDay - Session 3 La Mobilité selon Microsoft
MobileDay - Session 3 La Mobilité selon MicrosoftMobileDay - Session 3 La Mobilité selon Microsoft
MobileDay - Session 3 La Mobilité selon Microsoft
 
MobileDay - Parcours 1 Hybride (Cordova)
MobileDay - Parcours 1 Hybride  (Cordova)MobileDay - Parcours 1 Hybride  (Cordova)
MobileDay - Parcours 1 Hybride (Cordova)
 
MobileDay - Parcours 3 : Natif (Universal Apps)
MobileDay - Parcours 3 : Natif (Universal Apps)MobileDay - Parcours 3 : Natif (Universal Apps)
MobileDay - Parcours 3 : Natif (Universal Apps)
 
MobileDay - Session 2 REX IDEX
MobileDay - Session 2 REX IDEXMobileDay - Session 2 REX IDEX
MobileDay - Session 2 REX IDEX
 
Biztalk summit - IOT
Biztalk summit - IOTBiztalk summit - IOT
Biztalk summit - IOT
 
DevOps Day - Continuous Delivery
DevOps Day - Continuous DeliveryDevOps Day - Continuous Delivery
DevOps Day - Continuous Delivery
 
DevOps Day - Infrastructure As A Code
DevOps Day - Infrastructure As A CodeDevOps Day - Infrastructure As A Code
DevOps Day - Infrastructure As A Code
 
Applications "legacy": testez-les avec Visual Studio 2012 sans modifier leurs...
Applications "legacy": testez-les avec Visual Studio 2012 sans modifier leurs...Applications "legacy": testez-les avec Visual Studio 2012 sans modifier leurs...
Applications "legacy": testez-les avec Visual Studio 2012 sans modifier leurs...
 

Mutualisation des développements avec VS2012

  • 1. PLATEFORME Mutualisation des développements avec VS2012 Jonathan PAMPHILE – Consultant expert Microsoft-Agile (Cellenza) Benoit LAUNAY – Chef de produit Visual Studio (Microsoft)
  • 2. Mutualisation des développements avec VS2012 Cellenza
  • 3. Mutualisation des développements avec VS2012 Cellenza Présentation de Cellenza
  • 4. Mutualisation des développements avec VS2012 Utilisation du pattern Model-View-ViewModel
  • 5. Mutualisation des développements avec VS2012 Utilisation du pattern Model-View-ViewModel Séparation de l’UI de la logique de l’application
  • 6. Mutualisation des développements avec VS2012 Utilisation du pattern Model-View-ViewModel Séparation de l’UI de la logique de l’application  Développeurs travaillent sur la logique de l’application
  • 7. Mutualisation des développements avec VS2012 Utilisation du pattern Model-View-ViewModel Séparation de l’UI de la logique de l’application  Développeurs travaillent sur la logique de l’application  Designers travaillent sur l’interface
  • 8. Mutualisation des développements avec VS2012 Utilisation du pattern Model-View-ViewModel Application composée de trois composants
  • 9. Mutualisation des développements avec VS2012 Utilisation du pattern Model-View-ViewModel Application composée de trois composants  View
  • 10. Mutualisation des développements avec VS2012 Utilisation du pattern Model-View-ViewModel Application composée de trois composants  View  View Model
  • 11. Mutualisation des développements avec VS2012 Utilisation du pattern Model-View-ViewModel Application composée de trois composants  View  View Model  Model
  • 12. Mutualisation des développements avec VS2012 Utilisation du pattern Model-View-ViewModel • Model : représente le modèle de données consommé par l’application
  • 13. Mutualisation des développements avec VS2012 Utilisation du pattern Model-View-ViewModel • Model : représente le modèle de données consommé par l’application • View : code XAML définissant et mettant en forme ce que voit l’utilisateur
  • 14. Mutualisation des développements avec VS2012 Utilisation du pattern Model-View-ViewModel • Model : représente le modèle de données consommé par l’application • View : code XAML définissant et mettant en forme ce que voit l’utilisateur • View Model : contient la logique de gestion des données du modèle et les lie à l’UI
  • 15. Mutualisation des développements avec VS2012 Utilisation du pattern Model-View-ViewModel • View spécifique à la plateforme
  • 16. Mutualisation des développements avec VS2012 Utilisation du pattern Model-View-ViewModel • View spécifique à la plateforme • View Model et Model potentiellement portables ou réutilisables
  • 17. Mutualisation des développements avec VS2012 Utilisation des Portable Class Libraries
  • 18. Mutualisation des développements avec VS2012 Utilisation des Portable Class Libraries Bibliothèques de composants utilisables par différents types plateformes
  • 19. Mutualisation des développements avec VS2012 Utilisation des Portable Class Libraries Bibliothèques de composants utilisables par différents types plateformes
  • 20. Mutualisation des développements avec VS2012 Utilisation des Portable Class Libraries
  • 21. Mutualisation des développements avec VS2012 Utilisation des Portable Class Libraries Caractéristiques des portable class libraries :
  • 22. Mutualisation des développements avec VS2012 Utilisation des Portable Class Libraries Caractéristiques des portable class libraries :  code managé (C# ou VB)
  • 23. Mutualisation des développements avec VS2012 Utilisation des Portable Class Libraries Caractéristiques des portable class libraries :  code managé (C# ou VB)  ne pas utiliser la compilation conditionnelle
  • 24. Mutualisation des développements avec VS2012 Utilisation des Portable Class Libraries Caractéristiques des portable class libraries :  code managé (C# ou VB)  ne pas utiliser la compilation conditionnelle  ne pas utiliser d’APIs Windows Runtime
  • 25. Mutualisation des développements avec VS2012 Utilisation des Portable Class Libraries Caractéristiques des portable class libraries :  code managé (C# ou VB)  ne pas utiliser la compilation conditionnelle  ne pas utiliser d’APIs Windows Runtime  ne pas utiliser d’éléments de l’UI
  • 26. Mutualisation des développements avec VS2012 Utilisation des Portable Class Libraries Portable class library et pattern MVVM
  • 27. Mutualisation des développements avec VS2012 Utilisation des Portable Class Libraries Portable class library et pattern MVVM
  • 28. Mutualisation des développements avec VS2012 Utilisation des Portable Class Libraries Portable class library et pattern MVVM  Model et ViewModel potentiellement portables
  • 29. Mutualisation des développements avec VS2012 Utilisation des Portable Class Libraries Portable class library et pattern MVVM  Model et ViewModel potentiellement portables  View et code de démarrage spécifique à la plateforme
  • 30. Mutualisation des développements avec VS2012 Utilisation des Portable Class Libraries Portable class library et pattern MVVM  Model et ViewModel potentiellement portables  View et code de démarrage spécifique à la plateforme  Si code spécifique dans le ViewModel, utilisation d’interfaces communes et implémentation de ces fonctionnalités dans du code spécifique
  • 31. Mutualisation des développements avec VS2012 Utilisation de fichiers liés
  • 32. Mutualisation des développements avec VS2012 Utilisation de fichiers liés Partage de code en utilisant un même fichier dans plusieurs projets
  • 33. Mutualisation des développements avec VS2012 Utilisation de fichiers liés Partage de code en utilisant un même fichier dans plusieurs projets Code éligible :
  • 34. Mutualisation des développements avec VS2012 Utilisation de fichiers liés Partage de code en utilisant un même fichier dans plusieurs projets Code éligible :  Logique applicative en commun mais non portable
  • 35. Mutualisation des développements avec VS2012 Utilisation de fichiers liés Partage de code en utilisant un même fichier dans plusieurs projets Code éligible :  Logique applicative en commun mais non portable  User Controls indépendants de la plateforme
  • 36. Mutualisation des développements avec VS2012 Partage de composants XAML
  • 37. Mutualisation des développements avec VS2012 Partage de composants XAML Partage de composants XAML entre Windows 8 et Windows Phone 8
  • 38. Mutualisation des développements avec VS2012 Partage de composants XAML Partage de composants XAML entre Windows 8 et Windows Phone 8  Utilisation de User Controls
  • 39. Mutualisation des développements avec VS2012 Partage de composants XAML Limitation du partage de composants XAML
  • 40. Mutualisation des développements avec VS2012 Partage de composants XAML Limitation du partage de composants XAML • Implémentation des éléments UI spécifique à chaque plateforme
  • 41. Mutualisation des développements avec VS2012 Partage de composants XAML Limitation du partage de composants XAML • Implémentation des éléments UI spécifique à chaque plateforme • Namespaces XAML préfixés différemment entre Windows 8 et Windows Phone 8 Windows Phone 8: xmlns:phone="clr-namespace:Microsoft.Phone.Controls" Windows 8: xmlns:local="using:Win8App"
  • 42. Mutualisation des développements avec VS2012 Partage de composants XAML Limitation du partage de composants XAML • Implémentation des éléments UI spécifique à chaque plateforme • Namespaces XAML préfixés différemment entre Windows 8 et Windows Phone 8 • Compilation conditionnelle non prise en charge en XAML
  • 43. Mutualisation des développements avec VS2012 Utilisation de la compilation conditionnelle
  • 44. Mutualisation des développements avec VS2012 Utilisation de la compilation conditionnelle • Isolation du code spécifique à chaque plateforme à la compilation
  • 45. Mutualisation des développements avec VS2012 Utilisation de la compilation conditionnelle • Isolation du code spécifique à chaque plateforme à la compilation public void PlatformSpecificMethod() { #if NETFX_CORE // code Windows 8 #else // code Windows Phone 8 #endif }
  • 46. Mutualisation des développements avec VS2012 Utilisation de la compilation conditionnelle • Isolation du code spécifique à chaque plateforme à la compilation public void PlatformSpecificMethod() { #if NETFX_CORE // code Windows 8 #else // code Windows Phone 8 #endif } NETFX_CORE : directive de compilation pour les projets Windows 8
  • 47. Mutualisation des développements avec VS2012 Démos !
  • 48. Mutualisation des développements avec VS2012 Résumé Ce qu’on a vu, ce qu’il faut savoir Visual Studio permet de mutualiser les développements entre Windows 8 et Windows Phone 8 Pour aller plus loin : • contact • http://visualstudio.fr/bonapp
  • 49. UN PROJET, DES QUESTIONS ? Retrouvez toutes les émissions sur visualstudio.fr/bonapp