Réutilisation de code entre     Windows 8 et Windows Phone                                 8.                    Arnaud Au...
INFINITE SQUARE  STAND 44 ESPACE WINDOWS 8 & EXPÉRIENCES NUMÉRIQUES   Société de conseil, d’expertise, de réalisation et ...
Agenda•   Pourquoi partager du code?•   Comparer les deux plateformes•   Organiser son code pour qu’il soit portable•   Le...
Pourquoi partager du code ?•   Gagner du temps•   Homogénéiser les applications•   Limiter les risques d’anomalies (un cod...
La plateforme Windows 8                             Windows Store Apps                         Desktop Apps  View         ...
La plateforme Windows Phone 8                                   Direct3D      C++                                    Inter...
Comprendre les différences entre lesplateformes      Ecran                 Résolutions extrêmement variées   Ergonomie    ...
La recette pour maximiser la portabilité• Séparer les couches logiques (Vues, Métier, Accès au  données…)   – Le pattern M...
Le pattern MVVM                                       Views                            (XAML / Minimize Code Behind)      ...
MVVM EN ACTION
Le Pattern MVVM… portable!    Windows 8                     Views                               Code partagé              ...
Les Ingrédients d’un code « modulaire »• Les features de .NET   – Interfaces, Classes Abstraites, Méthodes d‘Extension, …•...
La Portable Library• Sous-ensemble commun aux différents runtimes  choisis• Peut être référencé par nimporte quel type de ...
La Portable Library
PORTABLE LIBRARY
L’architecture au service de la portabilité• Solutions techniques parfois insuffisantes  – Types non partagés ou différent...
Partager du code existantLa solution : Le Pattern AdaptorMasquer une méthode ou un objet avec une classe intermédiaire    ...
Partager une logique identiqueLa solution : Le Pattern BridgeMasquer une implémentation avec une interface générique      ...
MISE EN PLACE DE PATTERNS
La Compilation Conditionnelle                           WinRT et WinPRT                           partagent certains      ...
Add as a link• Permet d‘écrire du code spécifique dans un fichier  partagé• Permet de visualiser facilement les différence...
ET SI ON CREAIT LA VERSIONWP8 ?
Conclusion : il faut un bon process deportage                                                   Implémentation            ...
Les Ressources • Série darticles de Pierre Cauchois sur le portage   dapplications :    – http://blogs.msdn.com/b/pierreca...
L’Accélérateur Windows                Ressources                Coaching                Visibilité                        ...
Prochain SlideShare
Chargement dans... 5
×

Réutilisation de code entre Windows 8 et Windows Phone 8.

289

Published on

Windows 8, Windows Phone 8, le même noyau, je ne code alors qu'une fois ? Dans cette session, nous aborderons les différences et les similitudes entre les deux plates-formes, ainsi que la manière de développer du code qui soit portable.

0 commentaires
1 mention J'aime
Statistiques
Remarques
  • Soyez le premier à commenter

Aucun téléchargement
Vues
Total des vues
289
Sur Slideshare
0
À partir des ajouts
0
Nombre d'ajouts
1
Actions
Partages
0
Téléchargements
15
Commentaires
0
J'aime
1
Ajouts 0
No embeds

No notes for slide
  • Intro code / dev
  • Etienne
  • Etienne
  • Arnaud
  • Arnaud
  • Etienne
  • Etienne
  • Arnaud
  • Arnaud
  • Arnaud
  • Etienne
  • Etienne
  • Etienne
  • Arnaud
  • Etienne
  • Arnaud
  • Etienne
  • Arnaud
  • Etienne
  • Etienne
  • Etienne
  • Arnaud
  • Réutilisation de code entre Windows 8 et Windows Phone 8.

    1. 1. Réutilisation de code entre Windows 8 et Windows Phone 8. Arnaud Auroux Etienne Margraff #infinitesquare www.infinitesquare.comCode / Développement
    2. 2. INFINITE SQUARE STAND 44 ESPACE WINDOWS 8 & EXPÉRIENCES NUMÉRIQUES  Société de conseil, d’expertise, de réalisation et de formation exclusivement sur les technologies de développement d’applications et la plateforme applicative Microsoft.  30 collaborateurs spécialisés sur les techno MS, dont 10 MVP.  GOLD Certified Partner sur 4 domaines de compétences.  Agréé CIR.  Centre de formation agréé.Infinite Square aux TechDays 2013
    3. 3. Agenda• Pourquoi partager du code?• Comparer les deux plateformes• Organiser son code pour qu’il soit portable• Les solutions techniques pour partager le code• L’architecture au service de la portabilité
    4. 4. Pourquoi partager du code ?• Gagner du temps• Homogénéiser les applications• Limiter les risques d’anomalies (un code à tester)• Parce que c’est cool• Mais…. C’est vraiment faisable?
    5. 5. La plateforme Windows 8 Windows Store Apps Desktop Apps View XAML HTML / CSSController C/C++ C#, VB JavaScript Model HTML C C# JavaScrip C++ VB Windows Runtime APIs t System Services Communication Graphics & Devices & & Data Media Printing Application Model Internet .NET Explorer Win32 SL Kernel Windows Kernel Services
    6. 6. La plateforme Windows Phone 8 Direct3D C++ Interop Reuse Windows Phone 8 API Common Graphics Audio Media .NET FX File System Networking Input CoreCLR Commerce Base Types Sensors
    7. 7. Comprendre les différences entre lesplateformes Ecran Résolutions extrêmement variées Ergonomie 1 ou 2 doigts pour WP8 & 2 mains/souris pour Win8 Runtimes Silverlight, WinPRT pour WP8 & WinRT pour Win8 Arbitraire pour WP8 & Quand ça dépasse 50ms pour Asynchronisme Win8Background agents Hétérogène pour WP8 & Conditionnel pour Win8 Services de l’OS Launchers d’app pour WP8 & Contrats pour Win8 … …
    8. 8. La recette pour maximiser la portabilité• Séparer les couches logiques (Vues, Métier, Accès au données…) – Le pattern MVVM• Gérer intelligemment le code source et les ressources – Séparation des projets – Partage des fichiers – Gestionnaire de source et Versionning … TFS ! • Abstraire le hardware et lOS – Patterns Adapter, Bridge, Factory...
    9. 9. Le pattern MVVM Views (XAML / Minimize Code Behind) Binding ViewModels (C#|C++|VB.NET, Binding Source, Implements INotifyPropertyChanged and ICommands) Async Models (C# - business oriented, interfaces with DAL) OS Hardware Data
    10. 10. MVVM EN ACTION
    11. 11. Le Pattern MVVM… portable! Windows 8 Views Code partagé Windows Phone 8 (XAML / Minimize Code Behind) - Patterns Binding - PBL ViewModels - Compilation INotifyPropertyChanged and (C#|C++|VB.NET, Binding Source, Implements Views ICommands) conditionnelle Views - Add as link Async - … Models ViewModels with DAL) (C# - business oriented, interfaces Models OS Hardware Data
    12. 12. Les Ingrédients d’un code « modulaire »• Les features de .NET – Interfaces, Classes Abstraites, Méthodes d‘Extension, …• Portable Library Tools – Multi-Targeting – Interfaces Génériques• Directives de Préprocesseur & Compilation Conditionnelle – #if SYMBOL_DEFINI – #else – #endif
    13. 13. La Portable Library• Sous-ensemble commun aux différents runtimes choisis• Peut être référencé par nimporte quel type de projet• Ne peut référencer que des assemblies de type Portable – Attention a la portabilité de vos dépendances
    14. 14. La Portable Library
    15. 15. PORTABLE LIBRARY
    16. 16. L’architecture au service de la portabilité• Solutions techniques parfois insuffisantes – Types non partagés ou différents – Implémentations complétement différentes• Il faut limiter le code non portable• Solution fréquente : utiliser des patterns adaptés
    17. 17. Partager du code existantLa solution : Le Pattern AdaptorMasquer une méthode ou un objet avec une classe intermédiaire Client Adaptor Adaptee + a: Adaptor + a: Adaptee + methodB() + doWork() + methodA() … … a.methodA() a.methodB() … …
    18. 18. Partager une logique identiqueLa solution : Le Pattern BridgeMasquer une implémentation avec une interface générique Abstraction Implementor - impl: Implementor + function() + implementation() … a.impl.implement () … RefinedAbstraction ConcreteImplementor + impl: Implementor + refinedFunction() + implementation()
    19. 19. MISE EN PLACE DE PATTERNS
    20. 20. La Compilation Conditionnelle WinRT et WinPRT partagent certains noms d’API
    21. 21. Add as a link• Permet d‘écrire du code spécifique dans un fichier partagé• Permet de visualiser facilement les différences entre les codes des plateformes• Attention aux gestionnaires de sources Projet W8 Fichier partagé Projet Wp8
    22. 22. ET SI ON CREAIT LA VERSIONWP8 ?
    23. 23. Conclusion : il faut un bon process deportage Implémentation Passage en des interfaces Analyse des Revue portable library génériques debuggingdépendances darchitecture (si possible) dans les projets spécifiques
    24. 24. Les Ressources • Série darticles de Pierre Cauchois sur le portage dapplications : – http://blogs.msdn.com/b/pierreca/archive/2012/05/28/strat-233- gies-et-techniques-de-partage-de-code-c-et-xaml-entre-windows- phone-et-windows-8-consumer-preview-partie-1-introduction-les- diff-233-rences-entre-les-plateformes-224-avoir-en-t-234-te.aspx • La série de Stephanie Hertrich sur la portable library : – http://blogs.msdn.com/b/stephe/archive/2012/05/07/partager-du- code-entre-plate-formes-gr-226-ce-224-la-portable-class-library-1- 4.aspx
    25. 25. L’Accélérateur Windows Ressources Coaching Visibilité aka.ms/accelerateur-windows Plus d’info ? RDV stand Windows 8Accélérateur Windows
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.

    ×