[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


How Microsoft’s Brendan Burns is trying to make cloud-native app deployment as easy as coding https://t.co/kPa2mzqE9V

December 18, 2017 07:44

RT @brendandburns: Really great overview of @Azure container service! https://t.co/7fk42Ud7m5

December 14, 2017 17:40

#KubeCon 2017 Demo - Istio and Brigade CI/CD https://t.co/60uaK82fIJ

December 14, 2017 08:18

Azure #Functions CI/CD pipeline for #Nodejs using #VSTS https://t.co/3UElDsDsDL

December 14, 2017 08:13

AKS cluster upgrades and managed #Kubernetes in #Azure https://t.co/b0naeEUwl1

December 12, 2017 16:01

Microsoft Azure <3 France ! https://t.co/w4Ak8f4QWN

December 12, 2017 08:09

The future is here! The #Quantum Development Kit has been released :) https://t.co/8mSieAEbCr

December 12, 2017 07:16

A tour of #containerd 1.0 https://t.co/27jtxIu17d

December 12, 2017 07:10

Last week in Azure: OSBA, DevOps and Kubernetes, VM sizes, and more https://t.co/vq6jtWLYTq

December 12, 2017 07:08

RT @BradSmi: We believe #AI is a game changer in creating solutions to protect the planet. That’s why we’re expanding #AIforEarth. #OnePlan

December 11, 2017 13:52

WSL Interoperability with #Docker https://t.co/xtiUafCPyq

December 11, 2017 11:58

RT @jpetazzo: If you are using @docker (or are planning to) to help you in your DevOps initiatives, you might want to read this: https://t.…

December 09, 2017 12:20

RT @benjguin: Free eBook – The Developer’s Guide to Microsoft Azure now available https://t.co/z9VeGYRDQy https://t.co/V0ozQPJllh

December 08, 2017 08:08

Check out the new #Azure Application Architecture Guide https://t.co/M3wIQfkRhi

December 08, 2017 07:53

What’s brewing in Visual Studio Team Services: December 2017 Digest https://t.co/jL8yNATyJR

December 08, 2017 07:51