mutualisation des développements avec vs2012
TRANSCRIPT
Mutualisation des développements avec VS2012Jonathan PAMPHILE – Consultant expert Microsoft-Agile (Cellenza)Benoit LAUNAY – Chef de produit Visual Studio (Microsoft)
PLATEFORME
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-ViewModelApplication composée de trois composants
Mutualisation des développements avec VS2012
Utilisation du pattern Model-View-ViewModelApplication composée de trois composants
View
Mutualisation des développements avec VS2012
Utilisation du pattern Model-View-ViewModelApplication composée de trois composants
View
View Model
Mutualisation des développements avec VS2012
Utilisation du pattern Model-View-ViewModelApplication 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 LibrariesBibliothèques de composants utilisables par différents types plateformes
Mutualisation des développements avec VS2012
Utilisation des Portable Class LibrariesBibliothè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 LibrariesCaractéristiques des portable class libraries :
Mutualisation des développements avec VS2012
Utilisation des Portable Class LibrariesCaractéristiques des portable class libraries :
code managé (C# ou VB)
Mutualisation des développements avec VS2012
Utilisation des Portable Class LibrariesCaracté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 LibrariesCaracté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 LibrariesCaracté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 LibrariesPortable class library et pattern MVVM
Mutualisation des développements avec VS2012
Utilisation des Portable Class LibrariesPortable class library et pattern MVVM
Mutualisation des développements avec VS2012
Utilisation des Portable Class Libraries
Model et ViewModel potentiellement portables
Portable class library et pattern MVVM
Mutualisation des développements avec VS2012
Utilisation des Portable Class Libraries
Model et ViewModel potentiellement portables
View et code de démarrage spécifique à la plateforme
Portable class library et pattern MVVM
Mutualisation des développements avec VS2012
Utilisation des Portable Class Libraries
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
Portable class library et pattern MVVM
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 XAMLLimitation du partage de composants XAML
Mutualisation des développements avec VS2012
Partage de composants XAMLLimitation du partage de composants XAML
•Implémentation des éléments UI spécifique à chaque plateforme
Mutualisation des développements avec VS2012
Partage de composants XAMLLimitation 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
xmlns:phone="clr-namespace:Microsoft.Phone.Controls"
xmlns:local="using:Win8App"
Windows Phone 8:
Windows 8:
Mutualisation des développements avec VS2012
Partage de composants XAMLLimitation 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é
Visual Studio permet de mutualiser les développements entre Windows 8 et Windows Phone 8Pour aller plus loin :• contact• http://visualstudio.fr/bonapp
Ce qu’on a vu, ce qu’il faut savoir
UN PROJET, DES QUESTIONS ?
Retrouvez toutes les émissions sur
visualstudio.fr/bonapp