Windows Phone 7.x, 8.0 et 8.1
Depuis avril 2014, Il existe 3 versions majeures de Windows Phone : 7.x, 8 et 8.1.
La version 8.1 permet de créer des applications Windows Phone 8.1 « classique » renommées 8.1-Silverlight (SL) et également les nouvelles applications « Universal Apps » qui pourront être partagées entre Windows 8.1 et Windows Phone 8.1.
La mutualisation du code était déjà partiellement possible avec les PCL (Portable Class Librairies). L’assemblie compilée est directement utilisable à la fois dans un projet Windows phone 7.x, Wp8 et Windows 8 par exemple.
Les « Universal Apps » permettent en plus de mutualiser une grande partie du code visuel.
Visual Studio 2013 permet donc à la fois de créer des PCL compatibles WP8, W8, WP8.1, W8.1 et utilisables à la fois dans des applications Windows Phone classiques, Windows 8.x dans des projets Universal Apps.
Mais là où ça se complique c’est que Visual Studio 2013 ne permet plus la compatibilité WP7.x.
Windows Phone 7.x représente encore en avril 2014 19% des utilisateurs de Windows Phone (cliquez sur l’image pour l’enquête complète de adduplex).
Il va falloir faire un choix.
Si vous voulez pouvoir créer une application pour Windows Phone 7.x, Visual Studio 2012 vous sera encore très utile pour créer la PCL compatible WP7 et WP8 ainsi que l’application en Windows Phone 7.x.
Synthèse
Le schéma ci dessous vous présente une synthèse des possibilités en fonction de la version de Visual Studio choisie.
De même en fonction des choix pris pour la construction des PCL, votre code pourra ou non être mutualisé entre un projet Windows phone 7 et un projet Windows phone 8.1.
Bien évidement pour développer une App Windows phone, il est quasiment obligatoire de développer avec l’OS Windows 8.1 sur votre machine…
Même si je ne vous le recommande pas et grâce à la compatibilité ascendante, il est toujours possible de cibler 100% des Windows phone avec une application WP7.x développée sur Windows 7 avec visual studio 2010…