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 en savoir plus, consultez la section Migration de la bibliothèque Windows UI (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.