Windows Dev Center

Portage de Silverlight pour Windows Phone vers Windows Runtime 8 (HTML)

Remarque  Pour plus d’informations sur le portage vers une application de plateforme Windows universelle (UWP) pour Windows 10, voir Passer de Silverlight pour Windows Phone à UWP.

La migration d’une application Silverlight pour Windows Phone vers une application du Windows Store utilisant JavaScript peut se révéler une opération simple ou difficile, selon le type de l’application. Si vous migrez une application dotée d’une interface utilisateur simple (par exemple, un utilitaire ou un jeu léger), JavaScript peut constituer une plateforme de destination adaptée pour les portages depuis Silverlight pour Windows Phone vers Windows 8, notamment grâce à des technologies de développement web standard connues. Si vous migrez une application présentant d’importants composants d’interface utilisateur ou un environnement graphique riche, il peut être préférable de créer une application du Windows Store en C++, C# ou Visual Basic et XAML.

Lorsque vous lisez cette rubrique, vous pouvez faire référence à la section Mappages de classes et d’espaces de noms Silverlight pour Windows Phone vers Windows Runtime.

Préparation en vue de migrer une application Silverlight pour Windows Phone vers JavaScript

La migration d’une application Silverlight pour Windows Phone vers une application du Windows Store utilisant JavaScript nécessite un certain niveau de préparation, en particulier si vous débutez dans le développement d’applications Windows 8. Tenez compte des points suivants :

  • Vous devez connaître HTML5, CSS3 et JavaScript. Pour plus d’informations, voir le didacticiel Créer votre première application du Windows Store en JavaScript.
  • Vous devez comprendre comment vous pouvez utiliser HTML5 et CSS pour reconstruire l’interface utilisateur de votre application. Vous devez identifier les éléments de l’interface utilisateur que vous utilisez dans Silverlight pour Windows Phone et passer en revue les contrôles fournis dans HTML5 et le kit de ressources Bibliothèque Windows pour JavaScript pour trouver des contrôles analogues à ceux que contient votre application Silverlight pour Windows Phone. Ensuite, déterminez la façon dont les composants et les conteneurs de votre interface utilisateur peuvent être exprimés sous forme de pages et d’éléments HTML5 (<div>). Il est possible que certains contrôles nécessitent l’utilisation des éléments fournis dans l’espace de noms Windows.UI de Windows Runtime.
  • Vous devez comprendre comment redévelopper les principaux comportements en JavaScript. Si la fonctionnalité dont vous avez besoin n’est pas disponible en JavaScript ou dans WinJS, vous pouvez utiliser un sous-ensemble spécifique d’API du .NET Framework en faisant référence aux bibliothèques d’exécution du profil Windows dans votre application.
  • Vous devez évaluer les ressources et l’interface utilisateur de votre application afin de déterminer si elles peuvent prendre correctement en charge diverses résolutions d’écran, la majorité d’entre elles étant supérieures à la résolution native de Silverlight pour Windows Phone, qui est de 800 x 480 pixels. Songez à redessiner et à redévelopper vos ressources si elles sont constituées d’images bitmap statiques. Les applications du Windows Store en JavaScript peuvent également prendre en charge des images vectorielles, grâce à la prise en charge de la norme SVG (Scalable Vector Graphics) fournie par WWAHost, et les mettre à l’échelle en conséquence. Pensez toutefois à adopter d’autres proportions (4:3, 16:9 et 16:10).

Si vous migrez un jeu ou une application utilisant des graphiques de manière intensive, vous devez utiliser la fonctionnalité fournie dans le modèle graphique Trident, y compris la prise en charge de Canvas et de SVG, pour WWAHost et Internet Explorer 10. Ce modèle graphique spécifique à HTML prend notamment en charge les transformations 2D et 3D par le biais de comportements CSS conformes aux normes du W3C. Pour plus d’informations, voir l’ébauche de spécification relative aux transformations 3D CSS du W3C.

Migration d’une application Silverlight pour Windows Phone vers JavaScript

Le développement d’une application du Windows Store en JavaScript s’effectue en JavaScript, HTML5 et CSS3. Vous devez par conséquent reconcevoir les composants de présentation de votre application et les redévelopper sous forme de documents HTML. Vous devez également représenter tous les comportements en tant que comportements JavaScript et CSS. Quelques conseils :

  • Vous pouvez exprimer des écrans individuels en tant que pages HTML. Dans ces pages, vous pouvez exprimer les conteneurs et les éléments d’organisation discrets à l’aide d’éléments <div> ou « trames » (connectées ou statiques).
  • Vous pouvez implémenter des contrôles à l’aide d’éléments de contrôle et de types d’entrée HTML (tels que <input> ou <textarea>) ou par le biais de CSS3 et de JavaScript (éléments interactifs personnalisés).
  • Vous pouvez réaliser des comportements de dessin à l’aide de l’élément <canvas> en HTML5 et JavaScript.

Par ailleurs, votre application du Windows Store en JavaScript peut tirer parti des bibliothèques spécifiques à Windows pour accroître les fonctionnalités et utiliser des fonctions au niveau du système d’exploitation. Ces bibliothèques comprennent les éléments suivants :

  • WinJS : kit de ressources de bibliothèques JavaScript qui prennent en charge une gestion améliorée des événements et les comportements de requête DOM, autorisent de nouveaux types de contrôles et fournissent des modèles adaptés aux développeurs pour d’autres comportements JavaScript courants.
  • Trident 6.0 : modèle basé sur HTML et CSS, conçu pour l’organisation et le rendu de composants visuels, qui implémente Canvas pour le dessin et la manipulation en temps réel des graphiques bitmap, ainsi que la prise en charge du format SVG (Scalable Vector Graphics) pour les graphiques vectoriels. (Trident 6.0 est le jeu de bibliothèques utilisées par Internet Explorer 10 pour l’affichage du contenu ; il peut être utilisé pour prendre en charge des graphiques et des comportements de rendu supplémentaires.)
  • Windows Runtime : fonctions au niveau du système d’exploitation accessibles à JavaScript.

Le tableau suivant fournit une liste d’API Silverlight pour Windows Phone et leurs équivalents dans Windows Runtime (tels que proposés par JavaScript). Ce tableau ne suggère pas un mappage linéaire des fonctionnalités ; une plateforme peut offrir davantage ou moins de fonctionnalités que son équivalent. Notez également que certaines API Windows Runtime ne sont pas accessibles aux applications du Windows Store en JavaScript, notamment les espaces de noms et les types Windows.UI.Xaml. En effet, HTML5 fournit des éléments d’interface utilisateur, des comportements et un rendu à utiliser à la place.

Type d’APIEspaces de noms de l’API SilverlightEspaces de noms de l’API Windows Runtime (C#/Visual Basic)
PériphériquesMicrosoft.Devices, Microsoft.Devices.Radio, Microsoft.Devices.Sensors Windows.Devices.Enumeration, Windows.Devices.Enumeration.Pnp, Windows.Devices.Input, Windows.Devices.Sensors
Modèle et environnement pour applications Windows PhoneMicrosoft.Phone, Microsoft.Phone.Info, Microsoft.Phone.Notification, Microsoft.Phone.Reactive, Microsoft.Phone.Shell, Microsoft.Phone.Tasks Windows.Networking.PushNotifications, Windows.Devices.Sms, Windows.ApplicationModel.Background, Windows.ApplicationModel.Contacts, Windows.ApplicationModel.Contacts.Provider, Windows.ApplicationModel.Core
CartesMicrosoft.Phone.Controls.Maps, Microsoft.Phone.Controls.Maps.AutomationPeers, Microsoft.Phone.Controls.Maps.Core Microsoft.Phone.Controls.Maps.Design Microsoft.Phone.Controls.Maps.Overlays, Microsoft.Phone.Controls.Maps.Platform Windows.Devices.Geolocation
MarketplaceMicrosoft.Phone.Marketplace Windows.ApplicationModel.Store
Réseau et syndicationMicrosoft.Phone.Net, Microsoft.Phone.Net.NetworkInformation Windows.Networking, Windows.Networking.BackgroundTransfer, Windows.Networking.Connectivity, Windows.Networking.NetworkOperators, Windows.Networking.Sockets, Windows.Web.AtomPub, Windows.Web.Syndication
Modèles de programmation et de donnéesSystème Windows.Foundation, Windows.Foundation.Collections, Windows.Foundation.Metadata, Windows.Data.Xml.Dom, Windows.Data.Xml.Xsl, Windows.Data.Json
EmplacementSystem.Device.Location Windows.Devices.Geolocation, Windows.Networking.Proximity
Automation et diagnosticsSystem.Diagnostics, System.Windows.Automation.Peers Windows.Foundation.Diagnostics
Graphiques (transformations 3D)Bibliothèque de classes XNA Framework, Bibliothèque de classes Content Pipeline Pas d’équivalent pour le moment.
Contrôles et infrastructure de l’interface utilisateurMicrosoft.Phone.Controls, Microsoft.Phone.Controls.Primitives, Windows.UI.ApplicationSettings, Windows.UI.Core, Windows.UI.Input, Windows.UI.Notifications, Windows.UI.ViewManagement
StockageClasse System.IO.IsolatedStorage Windows.Storage, Windows.Storage.FileProperties

 

Vous pouvez accéder à une grande partie de la bibliothèque de classes .NET Framework à l’aide de Windows Runtime. Les fonctionnalités qui ne sont pas spécifiques à la plateforme Windows Phone présentent généralement une API équivalente dans la bibliothèque de classes .NET Framework. Par exemple, les classes et les méthodes disponibles dans la version Silverlight pour Windows Phone des espaces de noms System et System.Diagnostics peuvent également être disponibles dans Windows Runtime, sous la forme d’équivalents .NET Framework. Pour obtenir le jeu complet des API .NET Framework disponibles dans Silverlight pour Windows Phone et qui peuvent également être accessibles dans le profil Windows, consultez la documentation de référence sur les classes Silverlight.

Remarque  Le profil Windows fournit un wrapper pour plus de 12 000 des API .NET Framework. Toutefois, les API .NET Framework ne sont pas toutes prises en charge pour le moment. Pour obtenir la liste complète, voir la documentation relative aux API du profil Windows.
Remarque  Si vous voulez créer une expérience riche en graphiques pour une application Silverlight pour Windows Phone que vous avez portée, par exemple un jeu, et que vous ne voulez pas utiliser les modèles XAML ou JavaScript en raison des limitations de ces modèles, envisagez de migrer votre application vers une application C++ avec DirectX.

 

 

Afficher:
© 2015 Microsoft