Mapeo de características de UWP al SDK de Aplicaciones de Windows
En este tema se comparan las principales áreas de características de los diferentes formularios en los que aparecen en UWP y en el SDK de Aplicaciones para Windows. El contenido de esta guía de migración admite el traslado de XAML de UWP a XAML de SDK de Aplicaciones para Windows; el traslado a otro marco de interfaz de usuario, como Windows Presentation Foundation (WPF), está fuera del ámbito de esta guía.
Característica | UWP (Plataforma Universal de Windows) | SDK de Aplicaciones para Windows (aplicaciones empaquetadas) | Notas de migración |
---|---|---|---|
Empaquetado | MSIX La aplicación tiene identidad |
MSIX La aplicación tiene identidad |
Las aplicaciones de UWP que migran al SDK de Aplicaciones para Windows deben permanecer en MSIX para garantizar una experiencia de instalación y desinstalación limpia de confianza, así como el acceso a todas las API, incluidas las que requieren identidad. |
Contenedor | Contenedor de aplicaciones: - seguridad = LowIL - el acceso al sistema de archivos está intermediado - sin acceso al registro |
Contenedor de MSIX: - seguridad = MediumIL - acceso al sistema de archivos igual que el usuario, escrituras de AppData virtualizadas - escrituras de registro HKCU virtualizadas |
Pasar a un nivel de integridad superior con el SDK de Aplicaciones para Windows permite que la aplicación tenga una mayor funcionalidad. Sin embargo, tenga en cuenta la virtualización si desea expandir la capacidad para escribir en HKCU o AppData de la aplicación migrada. |
Activación y creación de instancias | Identidad del paquete + activación de CoreApplication, instancia única de forma predeterminada | Identidad del paquete, Main/WinMain + activación del SDK de aplicaciones de Windows, multiinstanciado por defecto | Asegúrese de que la aplicación pueda controlar el comportamiento de varias instancias o use AppInstance para administrar las instancias. |
Con administración del ciclo de vida | Suspender/reanudar | Notificaciones de energía y estado | Puede usar las notificaciones de cambio de Potencia/Estado para reducir la carga del sistema. |
Tareas en segundo plano | Tareas en segundo plano de InProc y OOP | Implementación de máxima confianza de tareas COM en segundo plano | Para obtener más información, consulta la estrategia para la migración de tareas en segundo plano . |
Ventaneo | CoreWindow, AppWindow (versión preliminar) | HWND, AppWindow v2 | El comportamiento de ventanas ha cambiado significativamente en SDK de Aplicaciones para Windows. Consulte Migración de la funcionalidad basada en ventanas. |
Mensajería | CoreDispatcher y DispatcherQueue | DispatcherQueue, WndProc | DispatcherQueue admite aplicaciones Win32. Para obtener más información sobre cómo pasar de CoreDispatcher a DispatcherQueue, consulte Migración de la funcionalidad de subprocesos. |
Plataforma de interfaz de usuario | System XAML, WebView, DirectX y otros | WinUI 3, Webview2, DirectX y otros | Para obtener más información, consulte Migración de WinU. |
Representación de texto | DirectWrite | DWriteCore | Permite a las aplicaciones acceder a las características de nivel inferior de DWrite más recientes y recibir nuevas actualizaciones de DWrite independientes de la programación de versiones del sistema operativo. Para obtener más información, consulte Migración de DirectWrite a DWriteCore. |
Recursos | MRT | MRTCore | Para obtener más información, consulte Migración de MRT a MRTCore. |
Entorno de ejecución de .NET | .NET Native / C# 7 | .NET 6+/C# 9 | El SDK de Aplicaciones para Windows proporciona acceso al entorno de ejecución de .NET moderno y acceso a nuevas características de lenguaje. Sin embargo, la compilación ReadyToRun de .NET no es la misma que .NET Native, por lo que debe evaluar las desventajas para el rendimiento. |
Gráficos 2D | Win2D | Win2D para WinUI 3 | Actualmente estamos trabajando en una versión de Win2D que funciona con el SDK de Aplicaciones para Windows, en curso. Consulta la documentación para obtener más información. |
Autenticación web | WebAuthenticationBroker | OAuth2Manager | El SDK de aplicaciones de Windows proporciona una nueva API para la funcionalidad de OAuth 2.0. Consulte Implementación de la funcionalidad de OAuth en aplicaciones de Windows para obtener más información. |
Componentes de Windows Runtime | Plantillas de proyecto de componentes de Windows Runtime para UWP | - C++: use la plantilla de proyecto Componente de Windows Runtime (WinUI 3). - C#: use C#/WinRT para crear componentes de Windows Runtime en una biblioteca de clases de .NET. |
Actualmente estamos trabajando para ofrecer asistencia para la Creación de componentes de Windows Runtime con C#/WinRT para usarlos en la SDK de Aplicaciones para Windows y WinUI 3. |
Consulte también
Colaborar con nosotros en GitHub
El origen de este contenido se puede encontrar en GitHub, donde también puede crear y revisar problemas y solicitudes de incorporación de cambios. Para más información, consulte nuestra guía para colaboradores.