Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
En estas preguntas más frecuentes se proporcionan respuestas a preguntas comunes sobre el desarrollo de aplicaciones de Windows, incluidas instrucciones sobre cómo elegir el marco adecuado para los proyectos. Temas cubiertos:
- Introducción y el panorama de desarrollo de aplicaciones de Windows.
- Desarrollo de aplicaciones nativas de Windows solo con WinUI, Windows Presentation Foundation (WPF) y Windows Forms (WinForms).
- Kit de desarrollo de software de Windows (SDK) y Windows App SDK.
- El destino de Windows forma parte de la estrategia de desarrollo multiplataforma.
- Desarrollo híbrido y de aplicaciones web con .NET MAUI, Blazor y ASP.NET Core.
- Cómo elegir un enfoque al comprender las inversiones de Microsoft.
Panorama de desarrollo de aplicaciones de Windows
¿Dónde puedo encontrar una introducción sencilla a las tecnologías de desarrollo de Windows?
Para obtener una excelente revisión de las opciones de hoy en día para los desarrolladores de Windows, vea el episodio de chat de desarrollo de Windows más reciente, Elegir su plataforma de desarrollo ideal, donde analizan WinUI, .NET MAUI, React Native, Blazor y Progressive Web Apps (PWA).
También puede consultar la información general sobre las opciones de desarrollo de aplicaciones para desarrolladores de Windows.
¿Por qué el desarrollo de aplicaciones cliente sigue siendo fundamental para la transformación digital moderna en la era de los servicios en la nube?
En la era de los servicios en la nube, el desarrollo de aplicaciones cliente sigue siendo un componente fundamental de la transformación digital moderna. Para los desarrolladores, la creación de aplicaciones cliente no solo es esencial para el alcance, sino para ofrecer interacciones dinámicas y significativas en los dispositivos de usuario.
Este es el motivo por el que importan las aplicaciones cliente:
- Device Reach: Con más de 1.500 millones de dispositivos Windows y más de 5 mil millones de dispositivos Android e iOS globalmente, las aplicaciones cliente le permiten traer sus aplicaciones directamente a los usuarios en sus dispositivos que prefieran.
- puerta de enlace a Intelligent Services: Las aplicaciones cliente suelen ser las primeras interacciones que los usuarios tienen con los servicios. Ofrecen una interfaz enriquecida e interactiva que le permite mostrar características inteligentes y diferenciar su producto de otros.
- Escalabilidad con Cloud Integration: Una aplicación cliente bien integrada puede sincronizarse sin esfuerzo con los servicios en la nube de back-end, lo que permite el acceso a datos en tiempo real y escalabilidad sin problemas a medida que crece la base de usuarios.
- productividad mejorada y fidelidad del usuario: una aplicación diseñada cuidadosamente puede mejorar la productividad y mantener a los usuarios comprometidos con su producto o servicio a lo largo del tiempo.
Desarrollo de aplicaciones solo windows nativas
¿Qué es Windows App SDK?
El SDK de Aplicaciones para Windows es una plataforma de desarrollo de aplicaciones de Windows que permite crear aplicaciones de escritorio hermosas, modernas y compatibles con versiones anteriores (hasta Windows 10, 1809). WinUI es el marco de interfaz de usuario que se incluye con el SDK de aplicaciones de Windows.
¿Cuál es la diferencia entre Windows App SDK y Windows SDK?
Ambos son kits de desarrollo de software (SDK) que permiten crear aplicaciones de Windows.
El SDK de Aplicaciones para Windows es una nueva plataforma de desarrollo que permite crear aplicaciones de escritorio modernas que se pueden instalar en versiones de Windows (hasta Windows 10, 1809). Al compilar con Windows App SDK, están disponibles las características más recientes de la plataforma de desarrollo de Windows. El SDK de aplicaciones de Windows incluye WinUI.
Windows SDK es una plataforma de desarrollo que te permite crear aplicaciones para UWP y aplicaciones de escritorio/Win32. Está diseñado en torno a las API de Windows que están asociadas a versiones concretas del sistema operativo.
El SDK de Aplicaciones para Windows no reemplaza Windows SDK. En su lugar, el SDK de aplicaciones de Windows complementa el SDK de Windows. Proporciona una abstracción cómoda y desacoplada del sistema operativo en torno al amplio catálogo de API del sistema operativo Windows que ya son accesibles mediante Windows SDK. Las aplicaciones compiladas con El SDK de aplicaciones de Windows pueden seguir usando las API de Windows SDK en función de las necesidades de funcionalidad. Con el tiempo, más funcionalidades de Windows SDK pasarán al SDK de aplicaciones de Windows.
Estoy creando un nuevo equipo para desarrollar una aplicación solo de Windows. ¿Por qué debo elegir desarrollar con un marco nativo de Windows como WinUI, WPF o WinForms?
Estas son algunas de las razones para elegir un marco nativo de Windows para la aplicación solo de Windows:
- Rendimiento: Los marcos nativos de Windows están optimizados para aprovechar el hardware moderno de Windows, lo que proporciona experiencias de usuario rápidas y dinámicas.
- Integración: Windows se distribuye con una amplia variedad de API que permiten experiencias sofisticadas que solo están disponibles en Windows. Los marcos nativos proporcionan una integración profunda con estas características y API.
- Experiencia de usuario nativa: Los marcos nativos proporcionan una experiencia coherente en todos los dispositivos Windows, lo que garantiza que la aplicación se ve y funciona perfectamente en todas partes.
- Compatibilidad sin conexión: Los marcos nativos admiten escenarios sin conexión, lo que permite que las aplicaciones funcionen incluso sin conectividad a Internet.
- Monetización: Microsoft mantiene y admite activamente los marcos nativos, lo que garantiza el acceso a las últimas actualizaciones y características.
¿Qué marco debo usar para aprovechar las inversiones más recientes de Microsoft en el desarrollo de aplicaciones de Windows?
Si va a compilar una nueva aplicación solo para Windows, se recomienda usar WinUI. WinUI es el marco de interfaz de usuario nativo más reciente para el desarrollo de aplicaciones de Windows y está diseñado para funcionar en una amplia gama de dispositivos Windows. Proporciona un marco de interfaz de usuario moderno y flexible para crear aplicaciones de Windows visualmente atractivas e interactivas. WinUI forma parte del SDK de aplicaciones de Windows y funciona mejor con las versiones más recientes de Windows.
¿Puedo usar Windows App SDK o WinUI en mi aplicación de Windows existente?
Tenga en cuenta que WinUI (un marco de interfaz de usuario) se incluye con el SDK de aplicaciones de Windows (un marco de desarrollo de la plataforma Windows).
Por lo general, WinUI no se puede usar a menos que la aplicación esté lista para migrar completamente su marco de interfaz de usuario. Una característica denominada islas XAML está en desarrollo para hospedar contenido de WinUI en otros marcos de interfaz de usuario (WPF, Win32).
Los elementos del SDK de aplicaciones de Windows se pueden usar a menudo en aplicaciones de escritorio, en función de cómo se creó la aplicación existente. El SDK de aplicaciones para UWP no es compatible con Windows App SDK.
Esto significa que las aplicaciones de WPF/MFC/WinForms pueden usar las API de Windows App SDK que no están relacionadas con WinUI. Entre los ejemplos se incluyen el ciclo de vida de la aplicación, las ventanas y las notificaciones del sistema.
Consulta Usar el SDK de aplicaciones de Windows en un proyecto existente para obtener más información.
¿Es necesario usar Visual Studio para compilar aplicaciones winUI?
Se recomienda encarecidamente usar Visual Studio 2022 versión 17.10 o posterior para el desarrollo de WinUI. Las versiones más recientes de Visual Studio ofrecen características de desarrollo enriquecidas como Recarga activa e incluyen una carga de trabajo de desarrollo de aplicaciones winUI que simplifica la configuración.
Otros IDE y flujos de trabajo pueden funcionar, pero Visual Studio es actualmente el único IDE compatible oficialmente para WinUI. Tenga en cuenta que MSBuild es necesario para compilar proyectos XAML o WinUI.
¿Cuál es la diferencia entre WinUI, WinUI 2 y WinUI 3?
WinUI es el marco de interfaz de usuario nativo más reciente para el desarrollo de aplicaciones de Windows. Proporciona un marco de interfaz de usuario moderno y flexible para crear aplicaciones de Windows visualmente atractivas e interactivas. WinUI forma parte del SDK de aplicaciones de Windows y funciona mejor con las versiones más recientes de Windows.
WinUI 2 es un conjunto de controles y estilos de interfaz de usuario basados en UWP. Proporciona una apariencia moderna para las aplicaciones para UWP y está diseñada para Windows 10.
WinUI 3 era el nombre anterior de WinUI cuando se envió por primera vez como parte del SDK de aplicaciones de Windows.
En resumen, WinUI es la versión más reciente y más avanzada del marco de WinUI, WinUI 2 es una biblioteca de control para UWP y WinUI 3 era una etiqueta anterior para WinUI. Use "WinUI" a menos que haga referencia específicamente a WinUI 2.
Al compilar una aplicación con Windows App SDK y WinUI, ¿estoy compilando una "aplicación WinUI"?
Sí: "Aplicación WinUI" es el término recomendado. Las aplicaciones winUI se conocen como "aplicaciones WinUI" porque WinUI 2 no es un tipo de aplicación, sino un conjunto de componentes usados en aplicaciones para UWP.
¿Puedo actualizar incrementalmente mi aplicación para UWP con controles winUI 2 a WinUI reemplazando gradualmente los componentes de WinUI 2 por componentes de WinUI?
No. Windows App SDK no se puede usar en aplicaciones para UWP y WinUI 2 no se puede mezclar con WinUI. Consulte Migración de UWP al SDK de Aplicaciones para Windows.
¿Qué tan difícil es migrar una aplicación para UWP a WinUI?
La migración de componentes de una interfaz de usuario suele ser sencilla (para C# y C++/WinRT). De lo contrario, el costo de la migración depende principalmente de:
- Personalización del archivo de proyecto y MSBuild: El esfuerzo de migración varía en función del uso avanzado de MSBuild.
- Migración de la API de .NET: Las aplicaciones para UWP que usan .NET deben pasar a .NET 6 o posterior. En muchos casos, la adopción de .NET 6 es sencilla.
- Bibliotecas de componentes de interfaz de usuario: Las bibliotecas deben tener versiones destinadas a WinUI.
- Si la aplicación para UWP está escrita en el C++/CX reemplazado ahora, se requiere cierta portabilidad de código fuente. Consulte Migrar a C++/WinRT desde C++/CX.
Para obtener más información, consulta Migrar de UWP a Windows App SDK.
Si tengo una aplicación para UWP existente en la Tienda, ¿puedo publicar una nueva aplicación WinUI empaquetada con los mismos identificadores?
Sí, las aplicaciones actualizadas se pueden publicar sin actualizar la identidad de la aplicación. Los usuarios de la versión anterior se actualizarán a la nueva versión. Esto solo se aplica a las aplicaciones de escritorio. Las aplicaciones xbox, HoloLens y Surface Hub no pueden migrar a WinUI.
¿Cómo puedo empaquetar o distribuir mi aplicación WinUI?
Consulte Introducción a la implementación.
¿Dónde puedo encontrar la guía de migración de Windows App SDK?
Consulte Migración de UWP al SDK de Aplicaciones para Windows.
¿Es necesario usar el marcado XAML si quiero usar WinUI?
No. Los controles de la interfaz de usuario se pueden crear en el código. Sin embargo, representar la interfaz de usuario en marcado XAML declarativo proporciona muchas ventajas, incluida una experiencia de desarrollador mejorada.
- Migración de UWP a WinUI: se pueden reutilizar muchos componentes XAML y de interfaz de usuario, aunque se requieren algunos ajustes de sintaxis.
- Migración de WPF a WinUI: muchos conceptos se transfieren, pero el conjunto de controles y las API difieren.
¿Visual Studio tiene una superficie de diseño o diseñador de interfaz de usuario para WinUI?
Todavía no. Se trata de una brecha conocida en la experiencia del desarrollador de WinUI. Herramientas como Recarga activa de XAML pueden ayudar en muchos escenarios. El trabajo se ha iniciado en un diseñador de interfaz de usuario de Visual Studio para WinUI en Windows App SDK 1.7, pero aún no hay ninguna escala de tiempo para su lanzamiento.
¿Incluye Windows App SDK WinUI?
Sí. WinUI se distribuye como parte del SDK de aplicaciones de Windows.
¿Incluye Windows App SDK WinUI 2?
No. WinUI 2 forma parte de la plataforma UWP.
¿WinUI 2 y WinUI se basan en la misma tecnología?
No del todo. Aunque WinUI se inició originalmente desde el código base de WinUI 2, son tecnologías distintas. Ambos son marcos de interfaz de usuario basados en XAML que funcionan entre .NET y C++, pero WinUI 2 y WinUI no son compatibles entre sí.
¿Puedo usar WinUI sin usar el SDK de aplicaciones de Windows?
No. WinUI se distribuye como parte del SDK de aplicaciones de Windows.
¿Puedo usar WinUI en una aplicación sin empaquetar?
Sí. Todas las tecnologías del SDK de aplicaciones de Windows, incluido WinUI, funcionan en aplicaciones sin empaquetar.
¿Cuál es la diferencia entre las islas XAML y WinUI?
Las islas XAML te permiten hospedar controles modernos basados en XAML junto con la interfaz de usuario de Win32 existente desde otros marcos, como WinForms y WPF.
En la actualidad, las islas XAML admiten la mayoría de los controles XAML y WinUI 2 del sistema. Consulta Hospedar controles XAML de WinRT en aplicaciones de escritorio (islas XAML) para obtener más información. La compatibilidad con el hospedaje de controles WinUI está disponible a partir de Windows App SDK 1.4.
Si creo una aplicación WinUI, ¿será moderna en Windows 11 y Windows 10?
Sí. La interfaz de usuario de la aplicación heredará los principios de diseño de la interfaz de usuario de Fluent más recientes en todas las versiones compatibles de Windows 11 y Windows 10, hasta la versión 1809, tanto en escenarios empaquetados como sin empaquetar.
¿Puedo usar fondos de Mica o Acrílico en aplicaciones compiladas con Windows App SDK?
Sí. Consulte Aplicación de materiales de mica o acrílico en aplicaciones de escritorio para Windows 11.
¿Dónde puedo encontrar ejemplos de WinUI?
Consulte Ejemplo y recursos. Algunos repositorios destacados:
- Ejemplos de WindowsAppSDK: Muestra cómo usar conjuntos de API del SDK de Aplicaciones para Windows específicos.
- Ejemplos específicos de temas de Windows: contiene un ejemplo de notas de WinUI que se usa en el tutorial Creación de una aplicación winUI .
- galería de WinUI: muestra WinUI y Windows App SDK. También está disponible en Microsoft Store.
Si ya he invertido mucho en WPF, ¿debo seguir usando WPF o considerar la posibilidad de migrar a WinUI?
Si ya ha invertido mucho en WPF, puede seguir usándolo para las aplicaciones existentes. WPF es un marco estable y maduro que se usa ampliamente para compilar aplicaciones de escritorio de Windows.
Considere la posibilidad de usar el Asistente para actualización de .NET para migrar aplicaciones WPF de .NET Framework a la plataforma .NET más reciente. Analiza el código base y proporciona instrucciones sobre cómo actualizarlo.
Si compila una aplicación nueva de WPF, ¿tendrá un aspecto anticuado en comparación con otras aplicaciones nuevas de Windows?
Al desarrollar una aplicación WPF con .NET 9 o posterior, puedes asegurarte de que la aplicación coincida con el aspecto elegante y moderno de Windows 11. El nuevo tema fluent para WPF presenta una estética contemporánea de Windows 11, con el modo claro/oscuro integrado y la compatibilidad con el color de énfasis del sistema. Esto moderniza la apariencia de la aplicación y ofrece una experiencia de usuario pulida y cohesiva.
Mi equipo está cómodo creando aplicaciones winForms y se adapta a nuestras necesidades. ¿Deberíamos considerar la posibilidad de migrar a WinUI u otro marco?
Si WinForms satisface sus necesidades y su equipo está cómodo con él, puede seguir usando WinForms para las aplicaciones existentes. WinForms es un marco estable y maduro que se usa ampliamente para el desarrollo de escritorio de Windows.
El equipo de WinForms continúa invirtiendo en la plataforma. Algunas áreas actuales de inversión incluyen:
- Compatibilidad asincrónica con controles comunes
- Modo oscuro
- Flexibilidad de diseño
- Características de seguridad de escritorio, como el acceso al Portapapeles
Desarrollo nativo multiplataforma
¿Cuáles son algunas razones para crear aplicaciones nativas multiplataforma destinadas a Windows?
Si tiene como destino usuarios en varias plataformas de sistema operativo, la creación de aplicaciones multiplataforma con .NET MAUI o React Native puede ofrecer varias ventajas:
- Alcanzar: Las aplicaciones multiplataforma llegan a un público mayor en diferentes dispositivos y sistemas operativos.
- Reutilización del código: La reutilización del código entre plataformas reduce el tiempo de desarrollo y el costo. La creación de aplicaciones independientes para Windows, Android, iOS y macOS puede ser prohibitivamente costosa.
- Experiencia coherente del usuario: Los marcos multiplataforma ayudan a proporcionar una apariencia coherente entre plataformas.
- Integración: Las aplicaciones multiplataforma todavía se pueden integrar con servicios específicos de la plataforma para ofrecer una experiencia completa.
¿Puedo estar seguro de que las aplicaciones MAUI de .NET se ejecutarán bien en Windows?
Al compilar una aplicación MAUI de .NET para Windows, la salida es una aplicación WinUI. Durante el desarrollo, .NET MAUI ofrece una única experiencia de .NET entre plataformas, pero genera código específico de la plataforma en segundo plano. Esto garantiza que las aplicaciones MAUI de .NET funcionan bien en cada plataforma y ofrecen una experiencia de usuario nativa.
¿Cómo puede .NET MAUI proporcionar API de dispositivo nativas en todas las plataformas?
.NET MAUI proporciona una experiencia unificada de .NET en Windows, iOS, Android y macOS. Abstrae más de 60 API específicas de la plataforma en un único conjunto de API multiplataforma, que abarca áreas como almacenamiento, redes y sensores de dispositivo. También se puede acceder a api específicas de la plataforma adicionales mediante la inserción de dependencias para proporcionar implementaciones especializadas por plataforma.
¿Puedo empezar con WinUI y, posteriormente, integrar .NET MAUI si finalmente quiero dirigirse a escenarios multiplataforma?
No en este momento. Aunque .NET MAUI usa WinUI cuando se ejecuta en Windows, los equipos que esperan tener como destino varias plataformas deben empezar con .NET MAUI o React Native para escritorio.
Nuestro equipo tiene sólidas aptitudes de desarrollo de front-end web. ¿Deberíamos considerar el uso de React Native para escritorio?
Es posible que los equipos con experiencia de desarrollo web sólida quieran considerar React Native for Desktop. Incluye React Native para Windows y macOS. Con el enfoque "Learn once, write anywhere", se pueden usar las aptitudes existentes de JavaScript, TypeScript y React para compilar aplicaciones nativas de Windows y macOS.
React Native for Desktop representa la interfaz de usuario (UI) directamente en primitivos nativos, proporcionando rendimiento y capacidades nativas de la plataforma.
Consulte la documentación de React Native for Desktop para empezar.
¿Hay otros dispositivos Windows compatibles con React Native para escritorio?
Las aplicaciones de React Native se pueden implementar en todos los dispositivos compatibles con Windows 10 y versiones posteriores, incluidos equipos, tabletas, 2 en 1s, Xbox y dispositivos de realidad mixta.
¿Qué debo usar si quiero compilar aplicaciones que funcionen en Windows y Xbox?
Si la aplicación necesita admitir Xbox, HoloLens o IoT, se recomienda UWP. Windows App SDK no admite estas plataformas. Para el desarrollo de juegos, usa el Kit de desarrollo de juegos de Microsoft.
¿Qué debo usar si quiero compilar aplicaciones que funcionen en Windows y Surface Hub?
Si el destino es Windows y Surface Hub, se recomienda UWP.
Desarrollo híbrido y web
¿Qué son las aplicaciones híbridas y por qué debo considerar la creación de una?
Las aplicaciones híbridas combinan lo mejor del desarrollo de aplicaciones web y nativas. Su núcleo se crea mediante tecnologías web como HTML, CSS y JavaScript, y se encapsula en un contenedor nativo que proporciona acceso a determinadas características y hardware de la plataforma nativa. También se pueden distribuir a través de tiendas de aplicaciones.
La principal ventaja es que las aplicaciones híbridas permiten crear una sola aplicación que se puede ejecutar en varias plataformas nativas y en la web, lo que reduce el tiempo de desarrollo y el costo. Entre los ejemplos de plataformas de desarrollo de aplicaciones híbridas se incluyen:
- Electron para aplicaciones de escritorio
- Ionic para aplicaciones móviles
- .NET MAUI Blazor Hybrid para aplicaciones multiplataforma
¿Cómo se crean aplicaciones web progresivas (PWA) de sensación nativa en Windows?
Consulte Desarrollo web en Windows e Información general sobre aplicaciones web progresivas.
¿Qué es una aplicación híbrida de .NET MAUI Blazor?
Con .NET MAUI, las aplicaciones Blazor se pueden ejecutar de forma nativa en Windows, iOS, Android y macOS. Esto le permite crear aplicaciones cliente híbridas que combinen componentes blazor y .NET MAUI en una sola aplicación cliente nativa, con acceso completo a las funcionalidades de la plataforma nativa.
Obtenga más información en ASP.NET Core Blazor Hybrid.
¿Es necesario crear los componentes web de una aplicación híbrida de .NET MAUI con Blazor?
No. A partir de .NET 9, .NET MAUI incluye un control HybridWebView que permite hospedar otras INTERFACES basadas en JavaScript dentro de una aplicación nativa.
Esto le permite hospedar angular, React, Vue u otras aplicaciones HTML/JavaScript dentro de una aplicación MAUI de .NET. El control híbrido proporciona interoperabilidad entre C# y JavaScript, por lo que el código de C# puede llamar a funciones de JavaScript y viceversa.
¿Puede algún otro tipo de aplicación nativa hospedar componentes híbridos de Blazor?
Sí. Las aplicaciones WPF y WinForms también pueden hospedar componentes híbridos de Blazor, lo que permite agregar la interfaz de usuario web moderna a las aplicaciones existentes. Esto no se admite para aplicaciones WPF o WinForms basadas en .NET Framework.
¿Necesita mi aplicación completa ser híbrida o puedo combinar componentes nativos e híbridos?
Los componentes nativos e híbridos se pueden mezclar dentro de una aplicación. Por ejemplo, el núcleo de una aplicación se puede compilar con componentes MAUI de .NET, mientras que los componentes híbridos proporcionan funcionalidad adicional. Esto permite combinar el rendimiento y las funcionalidades de los componentes nativos con la flexibilidad y la rentabilidad de los componentes híbridos.
¿Cuáles son mis opciones para desarrollar aplicaciones web basadas en .NET que tienen un aspecto excelente en navegadores modernos en Windows?
Las aplicaciones web ofrecen el alcance más amplio de cualquier plataforma de aplicaciones cliente. Entre las opciones para crear hermosas aplicaciones web de .NET se incluyen:
- aplicaciones de ASP.NET Core con Razor Pages
- aplicaciones de ASP.NET Core MVC
- ASP.NET aplicaciones blazor principales, con opciones de modelo de hospedaje:
- WebAssembly de Blazor
- Blazor Server
Los modelos de hospedaje de Blazor ahora se pueden configurar en el nivel de componente, lo que permite escenarios como hospedar un componente WebAssembly de Blazor dentro de una aplicación blazor Server.
Consulte la documentación de ASP.NET Core para obtener más información.
Elección de un enfoque y comprensión de las inversiones de Microsoft
Hay tantas opciones de marco para compilar aplicaciones destinadas a Windows. ¿Cómo puedo decidir?
Windows es una plataforma abierta que admite muchas tecnologías. Estos son algunos criterios que pueden ayudarle a elegir una plataforma:
- ¿Estás creando Windows primero o multiplataforma?
- ¿Qué lenguajes o aptitudes ya tiene: .NET, JavaScript, otra cosa?
- ¿Necesita acceso a las API específicas de Windows?
- ¿Qué funcionalidades del marco se ajustan mejor a los requisitos de la aplicación?
- Consulte esta tabla para obtener más factores de comparación.
Para muchas aplicaciones empresariales, los equipos suelen elegir en función de las aptitudes existentes y de lo que el equipo es más cómodo usar.
¿Cómo puedo elegir el mejor enfoque de desarrollo para mi aplicación web?
Tenga en cuenta lo siguiente al elegir un enfoque de desarrollo para la aplicación web:
- Blazor se recomienda para compilar aplicaciones web de front-end con .NET. Le permite crear el front-end y el back-end mediante .NET, ahorrar tiempo y costo, y es especialmente bueno para las aplicaciones empresariales.
- Las aplicaciones web de JavaScript siguen teniendo sentido si desea aprovechar las aptitudes de JavaScript existentes o si necesita integrarse con las bibliotecas o marcos de JS establecidos.
- Las aplicaciones existentes que usan marcos más antiguos, como Web Forms, MVC o Razor Pages, siguen siendo compatibles y se pueden seguir desarrollando y manteniendo.
¿Quién está creando aplicaciones con WinUI hoy?
Muchos clientes están creando con WinUI en la actualidad, incluidos Adobe y Apple:
- Adobe Fresco, una aplicación gratuita de dibujo y pintura.
- Las aplicaciones Apple Music, Apple TV y Apple Devices se compilaron con WinUI y Windows App SDK.
Microsoft también ha creado muchas aplicaciones WinUI, como el Explorador de archivos de Windows 11 y la aplicación Fotos.
¿Quién está compilando aplicaciones .NET MAUI hoy?
Muchos clientes, incluido Microsoft, están creando aplicaciones multiplataforma con .NET MAUI. Por ejemplo, la aplicación móvil de Microsoft Azure se compila con .NET MAUI.
Consulte más información sobre la presentación de clientes de .NET.
¿Quién está creando aplicaciones WPF hoy?
La mayoría de la interfaz de usuario de Microsoft Visual Studio se compila con WPF. El propio IDE de Visual Studio es un ejemplo importante de una aplicación WPF compleja y de alto rendimiento.
¿Quién está creando aplicaciones blazor hoy?
El sistema aéreo FlightPulse de GE Digital usa Blazor para la configuración de back-end de todo lo que ven los pilotos, lo que aporta datos y análisis de sensores directamente a los pilotos para mejorar la seguridad y la eficiencia.
Vea más historias de clientes de Blazor en el sitio de .NET.
UWP y WinUI 2
¿Se pueden distribuir aplicaciones para UWP fuera de Microsoft Store?
Sí. Si el paquete MSIX está firmado, el certificado de firma debe ser válido y de confianza en el dispositivo de destino.
¿Puedo mezclar controles de interfaz de usuario XAML para UWP con controles de interfaz de usuario win32, WPF o WinForms?
Sí: las islas XAML lo habilitan. Consulta Más información sobre islas XAML.
Empaquetado, implementación y actualizaciones
¿Cuál es la diferencia entre las aplicaciones empaquetadas, desempaquetadas y empaquetadas con ubicación externa?
Para obtener definiciones de empaquetadas, desempaquetadas y empaquetadas con aplicaciones de ubicación externa, consulte Introducción a la implementación. En este tema también se explican las ventajas y desventajas de cada opción.
¿Se actualizará automáticamente la aplicación WinUI para los usuarios finales?
Una aplicación WinUI se puede entregar a través de la Tienda, un archivo .appinstaller o a través de un paquete MSI o setup.exe existente. La Tienda y AppInstaller admiten actualizaciones automáticas para los usuarios finales que tienen habilitadas las actualizaciones automáticas, pero las aplicaciones MSI/setup.exe deben proporcionar su propio mecanismo de actualización.
¿Puedo usar Windows App SDK sin usar MSBuild?
Por lo general, no. WinUI y el SDK de aplicaciones de Windows requieren MSBuild, por lo que Visual Studio es un requisito previo para desarrollar con ellos. Aunque técnicamente es posible compilar aplicaciones de Windows App SDK que no usen WinUI con otras cadenas de herramientas, esto no se admite.
Rendimiento y optimización
¿Qué puedo hacer para que mi aplicación de Windows se sienta genial para los usuarios finales?
Consulte Hacer que las aplicaciones sean excelentes en Windows.
Compatibility
¿Tendrán mis usuarios que actualizar Windows para usar mi aplicación WinUI?
Los usuarios con Windows 10, versión 1809 o posterior, pueden instalar aplicaciones winUI sin actualizar su sistema operativo.
¿Puedo dirigirme a Arm64 con mi aplicación WinUI?
Sí.
Desusos y migraciones
¿UWP/WinUI 2 está en desuso?
No. UWP y WinUI 2 siguen siendo compatibles y siguen recibiendo correcciones de errores, confiabilidad y seguridad. Sin embargo, la mayoría de las nuevas características y funcionalidades se agregan a WinUI.
La compatibilidad con UWP para .NET 9 está disponible. Esta opción proporciona una ruta de modernización para aplicaciones para UWP con la versión más reciente de .NET.
Los objetivos de compatibilidad con UWP de .NET 9 son:
- Proporcione una mejor ruta de migración para los desarrolladores que quieran moverse a WinUI.
- Quite las dependencias de .NET Native para que los desarrolladores puedan beneficiarse de las características más recientes de .NET y C#.
Para obtener más información, consulte la entrada de blog: Modernize your UWP app with preview UWP support for .NET 9 and Native AOT (Modernización de la aplicación para UWP con la versión preliminar de compatibilidad con UWP para .NET 9 y AOT nativo).
¿Cuándo debo migrar una aplicación para UWP o WinUI 2 a WinUI?
Los desarrolladores de UWP no deben sentirse presionados para migrar si están satisfechos con UWP y su conjunto de características, para muchas aplicaciones, la opción adecuada puede ser permanecer en UWP.
Las aplicaciones que quieran beneficiarse de la plataforma Windows más reciente y las inversiones de .NET deben considerar la posibilidad de pasar al SDK de aplicaciones de Windows. Consulte Migración de UWP al SDK de Aplicaciones para Windows.
¿Cuándo debo *no* migrar una aplicación para UWP + WinUI 2 a WinUI?
Sigue usando UWP si estás compilando para Xbox, Surface Hub o HoloLens.
¿WPF está en desuso?
No. WPF es compatible, recomendado y sigue recibiendo actualizaciones de características. Consulte la hoja de ruta de WPF de en GitHub.
¿WinForms está en desuso?
No. WinForms se admite y sigue recibiendo actualizaciones de características. Consulte la hoja de ruta de windows Forms de en GitHub.
¿Está en desuso Windows Runtime (WinRT)?
No. WinRT es una interfaz binaria de aplicación (ABI) que permite la interoperabilidad entre varios lenguajes. WinRT es la evolución de COM y windows App SDK proporciona la mayor parte de su funcionalidad a través de las API de WinRT.
Notas de lanzamiento
¿Dónde puedo encontrar notas de lanzamiento para Windows App SDK?
Las notas de la versión más recientes se pueden encontrar en la página Novedades .