Réutilisation de code entre Windows 8 et Windows Phone 8.
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

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

le

  • 445 vues

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 ...

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.

Statistiques

Vues

Total des vues
445
Vues sur SlideShare
370
Vues externes
75

Actions

J'aime
0
Téléchargements
14
Commentaires
0

1 intégré 75

http://www.scoop.it 75

Accessibilité

Catégories

Détails de l'import

Uploaded via as Microsoft PowerPoint

Droits d'utilisation

© Tous droits réservés

Report content

Signalé comme inapproprié Signaler comme inapproprié
Signaler comme inapproprié

Indiquez la raison pour laquelle vous avez signalé cette présentation comme n'étant pas appropriée.

Annuler
  • Full Name Full Name Comment goes here.
    Êtes-vous sûr de vouloir
    Votre message apparaîtra ici
    Processing...
Poster un commentaire
Modifier votre commentaire
  • 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. Presentation Transcript

  • 1. Réutilisation de code entre Windows 8 et Windows Phone 8. Arnaud Auroux Etienne Margraff #infinitesquare www.infinitesquare.comCode / Développement
  • 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. 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. 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. 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. 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. 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. 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. 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. MVVM EN ACTION
  • 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. 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. 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. La Portable Library
  • 15. PORTABLE LIBRARY
  • 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. 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. 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. MISE EN PLACE DE PATTERNS
  • 20. La Compilation Conditionnelle WinRT et WinPRT partagent certains noms d’API
  • 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. ET SI ON CREAIT LA VERSIONWP8 ?
  • 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. 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. L’Accélérateur Windows Ressources Coaching Visibilité aka.ms/accelerateur-windows Plus d’info ? RDV stand Windows 8Accélérateur Windows