[Build 2012] Partage de code entre Windows Phone 8 et Windows 8

October 30, 2012 -

Un post rapide pour vous parler de cette session sur le partage de code entre Windows Phone 8 et Windows 8. Je prendrai le temps de revenir dessus dans un article plus complet une fois que j’aurai un peu plus de recule et fait quelques exemples !

sharecode

Globalement, ce qu’il faut retenir, c’est que les deux plateformes sont en train de converger, avec l’apparition de WinPRT (Windows Phone Runtime) sous Windows Phone 8 qui est un sous ensemble des APIs WinRT (Windows Runtime) de Windows 8. Concrètement, on retrouve 3 sets d’API distincts sous Windows Phone 8 :

  • Framework .NET
  • Windows Phone Runtime
  • Native API : Direct3D, XAudio2, Media Foundation

Voilà un schéma résumant ces APIs :

WP_000185

En terme de stratégie, pour favoriser le partage de code entre les deux plateformes, il faut bien évidemment séparer au maximum la logique de l’application de l’UI. Pour ça, MVVM reste le pattern à utiliser en XAML. Pour partager du code .NET entre Windows Phone et Windows, on utilisera les Portable Class Libraries. Il est également possible d’utiliser des fichiers liés (add as link) ou un composants WinRT compilé (pas possible de référencer directement le projet dans Windows Phone 8, il faut aller chercher le .winmd!)

Concernant le code qui est “platform specific”, pas de recette miracle ni grosse nouveauté, on utilise la portable class library pour créer nos interfaces et derrière on fait de l’injection de dépendances dans chaque application.

Voilà ce qu’il faut retenir de cette session à ce stade. Plus d’info sur MSDN, sur cette page.

Stay tuned Winking smile

Julien

Comments

Share

Tags


Twitter


RT @fabriziovlp: Behold and despair: the Microsoft Ninja Cat & Unicorn wallpapers are here https://t.co/THWqxXosze http://t.co/vYTeTvg3Lz

March 28, 2015 17:43

RT @msdevUK: Check out Band Studio - an unofficial #MicrosoftBand layout designer for #VisualStudio: http://t.co/KqwPCKGeTL #XML http://t.c

March 28, 2015 08:18

RT @AzureBackup: Announcing fabric-level policy-driven backups for #Azure #Windows and #Linux #IaaS VMs! Learn more here: http://t.co/K9M19…

March 28, 2015 08:17

RT @PulsWeb: Azure Stream Analytics Support for Multiple Outputs, Job Health Alerts, Improved Query Testing : http://t.co/75uImo9iCM #Azure

March 28, 2015 08:15

RT @arnaudauroux: Pragmatic #IoT on #Azure Part 2: Ingest http://t.co/kv2opbDR60

March 28, 2015 08:13

Facebook announces Nuclide, an open-source IDE based on GitHub’s Atom text editor - http://t.co/LLPOWHCkcr

March 28, 2015 08:01

RT @DePhiless: @MUGStrasbourg : une nouvelle communauté MS est apparue à Strasbourg! cc @meulta @stepheUp @davrous @jcorioland http://t.co/…

March 27, 2015 15:54

It is now possible to backup #IaaS VMs with #Azure #Backup: http://t.co/4UGLAHZog1

March 27, 2015 10:54

#Azure #VirtualMachines, now with #Salt - http://t.co/VVHy2z0VAG

March 27, 2015 09:37

High-performance #SequoiaDB available to developers worldwide via VM Depot - http://t.co/AwrdxNqeqf #Azure

March 27, 2015 08:21

Introducing the #Azure #APIApps Tools for #VisualStudio 2013: Blogs http://t.co/fYyoO1EUdL

March 27, 2015 08:01

Cool overview of #Azure #LogicApps http://t.co/R3co6lGBag #AppService

March 26, 2015 17:28

Experiencing the Difference Between Dev & Ops and #DevOps http://t.co/ygPTA9VyfE

March 26, 2015 16:16

Microsoft Consolidates #Azure Application Services into #AppService http://t.co/X26Mqgcg1o

March 26, 2015 14:17

Introducing #Azure #API Apps with #AppService: http://t.co/56dS74Ahmq

March 26, 2015 13:01