Mutualisation des développements avec VS2012

Preview:

Citation preview

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