Mappage des fonctionnalités UWP au kit SDK d’application Windows
Cette rubrique compare les principales fonctionnalités dans les différentes formes sous lesquelles elles apparaissent dans UWP et dans le kit SDK d’application Windows. Le contenu de ce guide de migration prend en charge la migration de UWP XAML vers Windows App SDK XAML. La migration vers un cadre d’interface utilisateur différent, tel que Windows Presentation Foundation (WPF), n’entre pas dans le cadre de ce guide.
Fonctionnalité | UWP | Windows App SDK (applications packages) | Notes de migration |
---|---|---|---|
Emballage | MSIX L’application a une identité |
MSIX L’application a une identité |
Les applications UWP qui migrent vers le Windows App SDK doivent rester sur MSIX pour garantir une installation et une désinstallation propres et fiables, ainsi que l’accès à toutes les API, y compris celles qui requièrent une identité. |
Conteneur | Conteneur de l’application : - sécurité = LowIL - l’accès au système de fichiers se fait par l’intermédiaire d’un courtier - pas d’accès au registre |
Conteneur MSIX : - sécurité = MediumIL - accès au système de fichiers identique à celui de l’utilisateur, les écritures AppData sont virtualisées - écritures du registre HKCU virtualisées |
Le passage à un niveau d’intégrité plus élevé avec le Windows App SDK permet à votre application d’avoir une plus grande fonctionnalité. Cependant, soyez conscient de la virtualisation si vous souhaitez étendre les capacités de votre application migrée pour écrire dans HKCU ou AppData. |
Activation et instanciation | Identité du package + activation de CoreApplication, simple instanciation par défaut | Identité du package, Main/WinMain + activation du Windows App SDK, multi-instanciée par défaut. | Assurez-vous que votre application peut gérer un comportement multi-instances ou utilisez AppInstance pour gérer vos instances. |
Gestion du cycle de vie | Suspension/reprise | Notifications d’alimentation/état | Vous pouvez utiliser les notifications de changement d’alimentation/d’état pour réduire la charge du système. |
Tâches en arrière-plan | Tâches d’arrière-plan InProc et OOP | Tâches d’arrière-plan Inproc COM et OOP | Vous pouvez continuer à utiliser vos tâches d’arrière-plan OOP. Si l’application nécessite une communication avec votre processus principal, évaluez votre mécanisme IPC, car la tâche d’arrière-plan OOP s’exécute en LowIL, et votre processus principal Windows App SDK s’exécute en MediumIL. Toutes les tâches d’arrière-plan inproc doivent être migrées vers des tâches d’arrière-plan COM. Consultez la section Créer et enregistrer une tâche d’arrière-plan COM winmain. Pour les tâches d’arrière-plan en C# OOP, consultez la section Créer des composants Windows Runtime avec C#/WinRT et l’exemple de tâche d’arrière-plan. |
Fenêtrage | CoreWindow, AppWindow (préversion) | HWND, AppWindow v2 | Le comportement de fenêtrage a été considérablement modifié dans le Windows App SDK. Consultez la section Migration de la fonctionnalité de fenêtrage. |
Messagerie | CoreDispatcher et DispatcherQueue | DispatcherQueue, WndProc | DispatcherQueue prend en charge les applications Win32. Pour en savoir plus sur le passage de CoreDispatcher à DispatcherQueue, consultez la section Migration des fonctionnalités de threading. |
Plate-forme d’interface utilisateur | Système XAML, WebView, DirectX et autres | WinUI 3, Webview2, DirectX et autres | Pour plus d’informations, consultez Migration de WinUI. |
Rendu de texte | DirectWrite | DWriteCore | Permet aux applications d’accéder aux dernières fonctionnalités de DWrite à un niveau inférieur et de recevoir les nouvelles mises à jour de DWrite indépendamment du calendrier de sortie du système d’exploitation. Pour en savoir plus, consultez la section Migration de DirectWrite vers DWriteCore. |
Ressources | MRT | MRTCore | Pour en savoir plus, consultez la section Migration MRT vers MRTCore. |
.NET Runtime | .NET Native / C# 7 | .NET 6+/C# 9 | Le SDK Windows App permet d’accéder au moteur d’exécution moderne .NET et aux nouvelles fonctionnalités du langage. Cependant, la compilation .NET ReadyToRun est différente de la compilation .NET Native, et vous devez donc évaluer les compromis en termes de performances. |
Graphiques 2D | Win2D | Win2D pour WinUI 3 | Nous travaillons actuellement sur une version de Win2D qui fonctionne avec le Windows App SDK, en cours. Pour plus d’informations, consultez la documentation. |
Composants Windows Runtime | Modèles de projets de composants Windows Runtime pour UWP | - C++ : Utilisez le modèle de projet Windows Runtime Component (WinUI 3). - C# : Utilisez C#/WinRT pour créer des composants Windows Runtime dans une bibliothèque de classes .NET. |
Nous travaillons actuellement à la création de composants d’exécution Windows en C#/WinRT pour les applications Windows App SDK et WinUI 3. |
Voir aussi
Collaborer avec nous sur GitHub
La source de ce contenu se trouve sur GitHub, où vous pouvez également créer et examiner les problèmes et les demandes de tirage. Pour plus d’informations, consultez notre guide du contributeur.
Windows developer