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

Mutualisation des développements avec VS2012

Embed Size (px)

Citation preview

Page 1: Mutualisation des développements avec VS2012

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

PLATEFORME

Page 2: Mutualisation des développements avec VS2012

Mutualisation des développements avec VS2012

Cellenza

Page 3: Mutualisation des développements avec VS2012

Mutualisation des développements avec VS2012

Cellenza

Présentation de Cellenza

Page 4: Mutualisation des développements avec VS2012

Mutualisation des développements avec VS2012

Utilisation du pattern Model-View-ViewModel

Page 5: Mutualisation des développements avec VS2012

Mutualisation des développements avec VS2012

Utilisation du pattern Model-View-ViewModel

Séparation de l’UI de la logique de l’application

Page 6: Mutualisation des développements avec VS2012

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

Page 7: Mutualisation des développements avec VS2012

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

Page 8: Mutualisation des développements avec VS2012

Mutualisation des développements avec VS2012

Utilisation du pattern Model-View-ViewModelApplication composée de trois composants

Page 9: Mutualisation des développements avec VS2012

Mutualisation des développements avec VS2012

Utilisation du pattern Model-View-ViewModelApplication composée de trois composants

View

Page 10: Mutualisation des développements avec VS2012

Mutualisation des développements avec VS2012

Utilisation du pattern Model-View-ViewModelApplication composée de trois composants

View

View Model

Page 11: Mutualisation des développements avec VS2012

Mutualisation des développements avec VS2012

Utilisation du pattern Model-View-ViewModelApplication composée de trois composants

View

View Model

Model

Page 12: Mutualisation des développements avec VS2012

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

Page 13: Mutualisation des développements avec VS2012

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

Page 14: Mutualisation des développements avec VS2012

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

Page 15: Mutualisation des développements avec VS2012

Mutualisation des développements avec VS2012

Utilisation du pattern Model-View-ViewModel

•View spécifique à la plateforme

Page 16: Mutualisation des développements avec VS2012

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

Page 17: Mutualisation des développements avec VS2012

Mutualisation des développements avec VS2012

Utilisation des Portable Class Libraries

Page 18: Mutualisation des développements avec VS2012

Mutualisation des développements avec VS2012

Utilisation des Portable Class LibrariesBibliothèques de composants utilisables par différents types plateformes

Page 19: Mutualisation des développements avec VS2012

Mutualisation des développements avec VS2012

Utilisation des Portable Class LibrariesBibliothèques de composants utilisables par différents types plateformes

Page 20: Mutualisation des développements avec VS2012

Mutualisation des développements avec VS2012

Utilisation des Portable Class Libraries

Page 21: Mutualisation des développements avec VS2012

Mutualisation des développements avec VS2012

Utilisation des Portable Class LibrariesCaractéristiques des portable class libraries :

Page 22: Mutualisation des développements avec VS2012

Mutualisation des développements avec VS2012

Utilisation des Portable Class LibrariesCaractéristiques des portable class libraries :

code managé (C# ou VB)

Page 23: Mutualisation des développements avec VS2012

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

Page 24: Mutualisation des développements avec VS2012

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

Page 25: Mutualisation des développements avec VS2012

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

Page 26: Mutualisation des développements avec VS2012

Mutualisation des développements avec VS2012

Utilisation des Portable Class LibrariesPortable class library et pattern MVVM

Page 27: Mutualisation des développements avec VS2012

Mutualisation des développements avec VS2012

Utilisation des Portable Class LibrariesPortable class library et pattern MVVM

Page 28: Mutualisation des développements avec VS2012

Mutualisation des développements avec VS2012

Utilisation des Portable Class Libraries

Model et ViewModel potentiellement portables

Portable class library et pattern MVVM

Page 29: Mutualisation des développements avec VS2012

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

Page 30: Mutualisation des développements avec VS2012

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

Page 31: Mutualisation des développements avec VS2012

Mutualisation des développements avec VS2012

Utilisation de fichiers liés

Page 32: Mutualisation des développements avec VS2012

Mutualisation des développements avec VS2012

Utilisation de fichiers liés

Partage de code en utilisant un même fichier dans plusieurs projets

Page 33: Mutualisation des développements avec VS2012

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 :

Page 34: Mutualisation des développements avec VS2012

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

Page 35: Mutualisation des développements avec VS2012

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

Page 36: Mutualisation des développements avec VS2012

Mutualisation des développements avec VS2012

Partage de composants XAML

Page 37: Mutualisation des développements avec VS2012

Mutualisation des développements avec VS2012

Partage de composants XAML

Partage de composants XAML entre Windows 8 et Windows Phone 8

Page 38: Mutualisation des développements avec VS2012

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

Page 39: Mutualisation des développements avec VS2012

Mutualisation des développements avec VS2012

Partage de composants XAMLLimitation du partage de composants XAML

Page 40: Mutualisation des développements avec VS2012

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

Page 41: Mutualisation des développements avec VS2012

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:

Page 42: Mutualisation des développements avec VS2012

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

Page 43: Mutualisation des développements avec VS2012

Mutualisation des développements avec VS2012

Utilisation de la compilation conditionnelle

Page 44: Mutualisation des développements avec VS2012

Mutualisation des développements avec VS2012

Utilisation de la compilation conditionnelle•Isolation du code spécifique à chaque plateforme à la compilation

Page 45: Mutualisation des développements avec VS2012

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}

Page 46: Mutualisation des développements avec VS2012

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

Page 47: Mutualisation des développements avec VS2012

Mutualisation des développements avec VS2012

Démos !

Page 48: Mutualisation des développements avec VS2012

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

Page 49: Mutualisation des développements avec VS2012

UN PROJET, DES QUESTIONS ?

Retrouvez toutes les émissions sur

visualstudio.fr/bonapp