Este artículo tiene como fin promover un entendimiento común de la experiencia de desarrollo de Windows y la dirección de los productos.
El panorama actual de desarrollo de aplicaciones de Windows ofrece una variedad de marcos y tecnologías entre los que elegir. En estas preguntas más frecuentes se proporcionan instrucciones sobre cómo decidir qué marco usar para los proyectos de desarrollo de aplicaciones de Windows. Trata los temas siguientes:
- 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).
- El Kit de desarrollo de software (SDK) de Windows y el SDK de aplicaciones de Windows.
- 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.
El 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 las aplicaciones cliente siguen siendo importantes:
- 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 el SDK de Aplicaciones para Windows?
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 3 es el marco de trabajo de la interfaz de usuario que se incluye con el SDK de Aplicaciones para Windows.
¿Cuál es la diferencia entre el SDK de Aplicaciones para Windows 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). Cuando use el SDK de Aplicaciones para Windows para crear una aplicación, tendrá acceso a las características más recientes de la plataforma de desarrollo de Windows. El SDK de Aplicaciones para Windows incluye WinUI 3.
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 para Windows es un complemento de Windows SDK. Proporciona una abstracción cómoda y desacoplada del sistema operativo en torno al amplio catálogo de API de sistema operativo de Windows a las que ya puede acceder mediante Windows SDK. Al crear aplicaciones con el SDK de Aplicaciones para Windows, es posible que termine usando algunas API de Windows SDK según la funcionalidad que necesite. Con el tiempo, más funcionalidades de Windows SDK se incorporarán en el SDK de Aplicaciones para 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: marcos nativos de Windows están optimizados para aprovechar toda la eficacia del hardware de Windows actual y proporcionar experiencias de usuario rápidas y dinámicas.
- Integración: Windows se distribuye con amplias variedades de API para crear experiencias sofisticadas solo disponibles en Windows. Los marcos nativos proporcionan una integración profunda con estas características y API.
- experiencia de usuario nativa: marcos de Windows nativos proporcionan una experiencia de usuario coherente en todos los dispositivos Windows, lo que garantiza que la aplicación se ve y funciona bien en todos los dispositivos Windows.
- Compatibilidad sin conexión: marcos nativos de Windows proporcionan compatibilidad con escenarios sin conexión, lo que permite que la aplicación funcione incluso cuando el usuario no está conectado a Internet.
- Monetización: microsoft mantiene y admite activamente marcos nativos de Windows, lo que garantiza que tiene 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. WinUI proporciona un marco de interfaz de usuario moderno y flexible que permite crear aplicaciones de Windows visualmente atractivas e interactivas. WinUI forma parte del SDK de aplicaciones de Windows y está diseñado para funcionar 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 de Windows App SDK (un marco de desarrollo de la plataforma Windows).
Por lo general, no puede usar WinUI a menos que esté listo para migrar completamente el marco de interfaz de usuario. Estamos trabajando en una característica denominada islas XAML que te permite hospedar contenido de WinUI en otros marcos de interfaz de usuario (WPF, Win32).
Debería poder usar elementos del SDK de aplicaciones de Windows en cualquier aplicación de escritorio, en función de cómo se haya compilado la aplicación existente. El SDK de aplicaciones para UWP no es compatible con Windows App SDK.
Esto significa que aplicaciones de WPF/MFC/WinForms pueden usar las API de Windows App SDK que no están relacionadas con WinUI. Entre los ejemplos de estas API se incluyen: AppLifecycle, Windowing y Toast Notifications.
Consulte 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 las versiones 17.10 y posteriores de Visual Studio 2022 para desarrollar aplicaciones WinUI. El uso de la versión más reciente de Visual Studio le dará acceso a características de desarrollo enriquecidas, como Recarga activa. Los instaladores de Visual Studio más recientes incluyen una carga de trabajo de desarrollo de aplicaciones de Windows
Es posible que pueda usar otros flujos de trabajo de desarrollo y IDE, pero Visual Studio es actualmente el único IDE compatible oficialmente para WinUI. Tenga en cuenta que de MSBuild es necesario para compilar proyectos que usan XAML o WinUI.
Al compilar una aplicación con Windows App SDK y WinUI 3, ¿estoy compilando una "aplicación WinUI"?
Sí: "Aplicación WinUI" es el término que se recomienda usar. Las aplicaciones winUI 3 se conocen generalmente como "aplicaciones WinUI", ya que WinUI 2 no es un tipo de aplicación, sino un conjunto de componentes que se pueden usar en aplicaciones para UWP.
¿Puedo actualizar incrementalmente mi aplicación para UWP con controles winUI 2 a WinUI 3 reemplazando gradualmente los componentes de WinUI 2 por componentes de WinUI 3?
No. El SDK de Aplicaciones para Windows no se puede usar en aplicaciones para UWP, y WinUI 2 no se puede mezclar con WinUI 3. 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 migrar de UWP a WinUI dependerá principalmente de estos factores:
- Archivo del proyecto y personalización de MSBuild: La migración del proyecto puede exigir un gran esfuerzo, en función de si ha usado características avanzadas de MSBuild.
- Migración de la API de .NET: si la aplicación para UWP se basa en .NET, tendrá que actualizar a .NET 6 o versiones posteriores. En la mayoría de los casos, la adopción de .NET 6 es sencilla.
- Bibliotecas de componentes de la interfaz de usuario: Si usa bibliotecas de componentes de la interfaz de usuario, necesitará nuevas versiones cuyo destino sea WinUI 3.
- Si el código fuente de UWP está escrito en los ya reemplazados C++/CX, conllevará algo de portabilidad de código fuente. Consulte Migrar a C++/WinRT desde C++/CX.
Para obtener más información sobre la migración de UWP, consulte Migración de UWP al SDK de Aplicaciones para Windows.
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 tener que actualizar la identidad de la aplicación. Los usuarios que tengan la versión anterior podrán actualizar a la nueva versión. Esta guía solo corresponde a las aplicaciones de escritorio. Las aplicaciones xbox, HoloLens y Surface Hub no se 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 del 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. Pero hay muchas ventajas para representar la interfaz de usuario de WinUI en forma de marcado XAML declarativo, como una experiencia de desarrollador mejorada.
Si vas a migrar de UWP a WinUI, probablemente podrás reutilizar una gran cantidad de código xaml y relacionado con la interfaz de usuario (pero tendrás que actualizar parte de la sintaxis). Si va a migrar de WPF a WinUI, podrá reutilizar muchos de los conceptos, pero el conjunto de controles y las API serán diferentes.
¿Visual Studio tiene una superficie de diseño o diseñador de interfaz de usuario para WinUI?
Todavía no. Reconocemos que esto es una brecha en la experiencia del desarrollador de WinUI. Herramientas como Recarga activa de XAML pueden ayudar en muchos escenarios. Work 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 una escala de tiempo para la versión de esta característica.
¿El SDK de Aplicaciones para Windows incluye WinUI 3?
Sí. WinUI 3 se distribuye como parte del SDK para aplicaciones de Windows.
¿El SDK de Aplicaciones para Windows incluye WinUI 2?
No. WinUI 2 forma parte de la plataforma UWP.
¿Se basan WinUI 2 y WinUI 3 en la misma tecnología?
No del todo. Aunque WinUI 3 se creó a partir del código base de WinUI 2, son tecnologías distintas. Tanto WinUI 2 como WinUI 3 son marcos de trabajo de la interfaz de usuario basados en XAML que funcionan en .NET y C++. Tenga en cuenta que WinUI 2 y WinUI 3 no son compatibles entre sí.
¿Puedo usar WinUI 3 sin usar el SDK de Aplicaciones para Windows?
No. WinUI 3 se distribuye como parte del SDK de Aplicaciones para Windows.
¿Puedo utilizar WinUI 3 en una aplicación sin empaquetar?
Sí. Todas las tecnologías del SDK de Aplicaciones para Windows funcionan en aplicaciones sin empaquetar, incluido WinUI 3.
¿Cuál es la diferencia entre las islas XAML y WinUI 3?
Las islas XAML permiten hospedar controles de WinUI modernos, junto con la UI de Win32 existente desde otros marcos, como WinForms y WPF. En la actualidad, las islas XAML son compatibles con la mayoría de los controles de XAML y WinUI 2 del sistema. Para obtener más información, consulte Hospedaje de controles XAML de WinRT en aplicaciones de escritorio (Islas XAML). La compatibilidad con las islas XAML para los controles WinUI 3 está disponible a partir del SDK de Aplicaciones para Windows 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 más recientes de la interfaz de usuario de Fluent en todas las versiones compatibles de Windows 11 y Windows 10, hasta la versión 1809, en escenarios empaquetados y sin empaquetar.
¿Puedo usar fondos de Mica o Acrílico en aplicaciones creadas con el SDK de Aplicaciones para Windows?
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.
- demostraciones de WinUI 3: contiene demostraciones usadas durante las presentaciones de WinUI de Microsoft.
- galería de WinUI: muestra WinUI y Windows App SDK. También puede obtener WinUI Gallery en Microsoft Store.
Si ya he invertido mucho en WPF, ¿debo seguir usando WPF o debería considerar la posibilidad de migrar a WinUI?
Si ya ha invertido mucho en WPF, puede seguir usando WPF para las aplicaciones existentes. WPF es un marco maduro y estable que los desarrolladores usan ampliamente para compilar aplicaciones de escritorio de Windows.
Considere la posibilidad de aprovechar la del Asistente para actualización de .NET de
Si compila una nueva aplicación WPF, ¿tendrá un aspecto con fecha en comparación con otras nuevas aplicaciones 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 para las aplicaciones WPF, completa con compatibilidad integrada con el modo Claro/Oscuro y el color de énfasis del sistema. Esta actualización no solo moderniza la apariencia de la aplicación, sino que también mejora la interacción del usuario al proporcionar 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 el equipo está cómodo creando aplicaciones winForms y WindForms satisface sus necesidades, puede seguir usando WinForms para las aplicaciones existentes. WinForms es un marco maduro y estable que los desarrolladores usan ampliamente para crear aplicaciones de escritorio de Windows.
El equipo de WinForms está invirtiendo entre características y tiene una comunidad activa de colaboradores. 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 proporcionar varias ventajas:
- Reach: Creación de aplicaciones multiplataforma le permite llegar a un público mayor de usuarios en distintas plataformas.
- Reutilización de código: Compilar aplicaciones multiplataforma le permite reutilizar el código en distintas plataformas, lo que reduce el tiempo de desarrollo y los costos. Puede ser prohibitivamente costoso crear aplicaciones independientes para Windows, iOS, Android, macOS, etc.
- experiencia de usuario coherente: Compilar aplicaciones multiplataforma le permite proporcionar una experiencia de usuario coherente en distintas plataformas, lo que garantiza que la aplicación se ve y funciona perfectamente en todos los dispositivos.
- Integración: Creación de aplicaciones multiplataforma le permite integrarse con diferentes plataformas y servicios, lo que le permite proporcionar una experiencia de usuario más completa.
¿Puedo estar seguro de que las aplicaciones MAUI de .NET se ejecutarán bien en Windows?
Al compilar una aplicación de .NET MAUI para Windows, la salida es una aplicación winUI. Al desarrollar, .NET MAUI proporciona una única experiencia de .NET en todas las plataformas, incluidas Windows, pero en segundo plano, genera código específico de la plataforma. Esto garantiza que la aplicación MAUI de .NET se ejecuta bien en cada plataforma y proporciona una experiencia de usuario nativa.
¿Cómo puede .NET MAUI proporcionar API de dispositivo nativas en todas las plataformas?
.NET MAUI proporciona una única experiencia de .NET en todas las plataformas, como Windows, iOS, Android y macOS. .NET MAUI abstrae más de 60 API específicas de la plataforma en una única API multiplataforma que puede usar en la aplicación MAUI de .NET. Estas API cubren el acceso al almacenamiento, las redes, los sensores específicos del dispositivo, etc. Si es necesario, también puede acceder a api adicionales específicas de la plataforma mediante la inserción de dependencias para abstraer el código de cada plataforma.
¿Puedo empezar con WinUI y, posteriormente, integrar .NET MAUI si finalmente quiero dirigirse a escenarios multiplataforma?
De momento, no. Aunque las aplicaciones .NET MAUI usan WinUI al ejecutarse en Windows, se recomienda comenzar con .NET MAUI o React Native para Escritorio si prevé la necesidad de tener como destino varias plataformas.
Nuestro equipo tiene sólidas aptitudes de desarrollo de front-end web. ¿Deberíamos considerar el uso de React Native para escritorio?
Si su equipo tiene aptitudes sólidas de desarrollo web, puede considerar la posibilidad de usar React Native for Desktop. React Native para escritorio abarca react Native para Windows y marcos de macOS. El lema de React Native es "Aprender una vez, escribir en cualquier lugar", lo que significa que puede usar sus aptitudes de desarrollo web existentes para crear aplicaciones nativas de Windows mediante React Native. React Native for Desktop es un proyecto de código abierto que permite compilar aplicaciones nativas de Windows y macOS mediante React Native. React Native for Desktop proporciona un conjunto de API que permiten acceder a características y funcionalidades específicas del sistema operativo de escritorio en las aplicaciones de React Native.
El equipo puede aprovechar sus aptitudes de JavaScript, TypeScript y React para crear la capa de interfaz de usuario, que se representa directamente en primitivos nativos. Esto proporciona rendimiento de aplicaciones nativas y acceso a las funcionalidades de la plataforma nativa.
Obtenga más información sobre cómo empezar a trabajar con el desarrollo nativo de React para Windows en la documentación de React Native for Desktop.
¿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é tengo que usar si quiero crear aplicaciones que funcionen en Windows y Xbox?
Si la aplicación tiene que admitir Xbox, HoloLens o IoT, se recomienda usar UWP. El SDK de Aplicaciones para Windows no admite estas plataformas. Para el desarrollo de juegos, se recomienda usar el Kit de desarrollo de juegos de Microsoft.
¿Qué tengo que usar si quiero crear aplicaciones que funcionen en Windows y Surface Hub?
Si el destino es tanto Windows como Surface Hub, se recomienda usar 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. El núcleo de la aplicación se crea mediante tecnologías web como HTML, CSS y JavaScript y, a continuación, se encapsula en un contenedor nativo que permite a la aplicación aprovechar determinadas características y hardware nativos de la plataforma. También se pueden distribuir a través de tiendas de aplicaciones.
La principal ventaja de las aplicaciones híbridas es que 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 los costos. Algunos ejemplos de respuesta a las plataformas de desarrollo de aplicaciones híbridas:
- Electron para aplicaciones de escritorio
- Ionic para aplicaciones móviles
- Híbrido blazor de .NET MAUI para aplicaciones multiplataforma
¿Cómo se crean aplicaciones web progresivas (PWA) de aspecto nativo en Windows?
¿Qué es una aplicación híbrida de .NET MAUI Blazor?
Con .NET MAUI, las aplicaciones Blazor también se pueden ejecutar de forma nativa en Windows, iOS, Android y macOS. Esto significa que puede crear aplicaciones cliente híbridas que combinen componentes blazor y .NET MAUI juntos en una sola aplicación cliente nativa. Esto proporciona acceso completo a las mismas funcionalidades de plataforma nativa disponibles para cualquier otra aplicación MAUI de .NET.
Para obtener más información sobre cómo Blazor puede hospedarse en una aplicación MAUI de .NET, consulte ASP.NET Core Blazor Hybrid.
¿Es necesario crear los componentes web de una aplicación híbrida de .NET MAUI con Blazor?
No, no es necesario crear los componentes web de una aplicación híbrida de .NET MAUI con Blazor. A partir de .NET 9, .NET MAUI proporciona un control HybridWebView que permite hospedar otras INTERFACES de JavaScript en la aplicación nativa.
Esto significa que puede tomar la aplicación web angular, React, Vue u otro código HTML & javaScript y hospedarla dentro de la aplicación MAUI de .NET. El control híbrido proporciona interoperabilidad entre las capas de C# y JavaScript para que pueda llamar a funciones de JavaScript desde C# 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. Esto le permite agregar componentes modernos de la interfaz de usuario web a las aplicaciones existentes de WPF y WinForms. Tenga en cuenta que esto no es posible con aplicaciones WPF o WinForms creadas en .NET Framework.
¿Necesita mi aplicación completa ser una aplicación híbrida o puedo combinar y combinar componentes nativos e híbridos?
Puede combinar y combinar componentes nativos e híbridos en la aplicación. Por ejemplo, puede compilar el núcleo de la aplicación mediante componentes de MAUI de .NET y, a continuación, agregar componentes híbridos para proporcionar funcionalidad adicional. Esto le permite aprovechar lo mejor de ambos mundos: el rendimiento y las funcionalidades de los componentes nativos y la flexibilidad y el ahorro de costos de los componentes híbridos.
¿Cuáles son mis opciones para compilar . ¿Aplicaciones web basadas en NET que tienen un aspecto excelente en exploradores modernos en Windows?
Las aplicaciones web tienen el alcance más amplio de cualquier plataforma de aplicaciones cliente. Si desea crear hermosas aplicaciones web de .NET en Windows, tiene varias opciones:
- 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, entre las que se incluyen:
- Aplicaciones WebAssembly de Blazor
- Aplicaciones blazor Server
Tenga en cuenta que el modelo de hospedaje de Blazor se puede configurar ahora en el nivel de componente. Por lo tanto, puede tener un componente WebAssembly de Blazor hospedado en una aplicación blazor Server.
Obtenga más información sobre las opciones de desarrollo de ASP.NET Core en la documentación de ASP.NET Core.
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 decidir qué plataforma usar:
- ¿Va a crear Windows primero o multiplataforma?
- ¿Tiene experiencia con .NET? ¿JavaScript? ¿Otros idiomas?
- ¿Necesita acceder 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 conocer otros factores de decisión.
En lo que respecta a las aplicaciones empresariales, la mayoría de los equipos quieren elegir en función de las aptitudes existentes y de lo que el equipo se sienta cómodo usando.
¿Cómo puedo elegir el mejor enfoque de desarrollo para mi aplicación web?
Entre algunas cosas que se deben tener en cuenta al elegir un enfoque de desarrollo para la aplicación web se incluyen:
- Blazor se recomienda para compilar aplicaciones web de front-end con .NET. Con Blazor, ahora puede crear todo el front-end y back-end con .NET, lo que ahorra tiempo y dinero. Es especialmente adecuado para aplicaciones de línea de negocio empresariales en los dispositivos actuales.
- Las aplicaciones web de JavaScript siguen teniendo sentido si desea aprovechar las aptitudes o inversiones existentes de su equipo en JavaScript, o si necesita integrarse con las bibliotecas o marcos de JavaScript existentes.
- 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 con esos marcos.
¿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 para Windows.
- Apple creó Apple Music, Apple TVy aplicaciones de Apple Devices con WinUI y Windows App SDK.
Microsoft también ha creado varias aplicaciones con WinUI, incluidas las aplicaciones Explorador de archivos de Windows 11 y Fotos.
¿Quién está compilando aplicaciones .NET MAUI hoy?
Muchos clientes usan .NET MAUI para crear sus aplicaciones multiplataforma hoy en día, incluido Microsoft. Por ejemplo, la
Averigüe quién más está creando aplicaciones con .NET MAUI en la clientes de .NET muestran sitio.
¿Quién está creando aplicaciones WPF hoy?
La mayoría de la interfaz de usuario de Microsoft Visual Studio se compila con WPF. El IDE de visual Studio es un excelente ejemplo de una aplicación WPF compleja y de alto rendimiento.
¿Quién está creando aplicaciones blazor hoy?
El FlightPulse de GE Digital sistema aéreo pone los datos y análisis del sensor en manos de los pilotos para mejorar la seguridad y la eficiencia. La configuración de back-end de todo lo que ven los pilotos se realiza con Blazor.
Puede leer 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 UI de XAML para UWP con controles de UI de Win32, WPF o WinForms?
Sí, las islas XAML le permiten hacerlo. Más información sobre las 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 aplicaciones empaquetadas, desempaquetadas y empaquetadas con ubicación externa, consulte Información general sobre 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 en el paquete MSI o setup.exe existente. Store y AppInstaller admiten actualizaciones automáticas para los usuarios finales que tienen habilitada la actualización automática, pero la aplicación MSI/setup.exe debe tener su propio actualizador.
¿Puedo usar el SDK de Aplicaciones para Windows sin usar MSBuild?
Por lo general, no. WinUI y Windows App SDK requieren MSBuild, por lo que Visual Studio es un requisito previo para desarrollar con WinUI y Windows App SDK. Aunque técnicamente es posible compilar aplicaciones de Windows App SDK que no usan WinUI con otras cadenas de herramientas, esto no se admite.
Rendimiento y optimización
¿Qué puedo hacer para que mi aplicación de Windows sea excelente para los usuarios finales?
Compatibilidad
¿Tendrán mis usuarios que actualicen Windows para usar mi aplicación WinUI?
Los usuarios que tengan Windows 10, versión 1809 y posteriores, podrán instalar las aplicaciones winUI sin actualizar su sistema operativo.
¿Puedo dirigirme a Arm64 con mi aplicación WinUI?
Sí.
Desusos y migraciones
¿Están UWP o WinUI 2 en desuso?
No. UWP y WinUI 2 se siguen admitiendo y recibirán correcciones de errores, confiabilidad y seguridad. Sin embargo, la mayoría de las nuevas características y funcionalidades solo se agregarán a WinUI 3.
Nota
La compatibilidad con UWP para .NET 9 está disponible en versión preliminar. Esta compatibilidad con la versión preliminar proporciona una ruta de acceso para que las aplicaciones para UWP se modernicen con la versión más reciente de .NET.
Hay dos objetivos principales de la compatibilidad con UWP de .NET 9. En primer lugar, proporciona una mejor ruta de migración para los desarrolladores de UWP que quieren migrar a WinUI 3. En segundo lugar, permite a los desarrolladores quitar dependencias en .NET Native, por lo que pueden beneficiarse de las características más recientes de .NET y C#, independientemente de cuál sea su modelo de aplicación.
Para obtener más información, consulta la entrada de blog
¿Cuándo debería migrar una aplicación para UWP o WinUI 2 a WinUI 3?
Los desarrolladores de UWP no deben sentir ninguna presión para migrar sus aplicaciones a WinUI 3, si están satisfechos con UWP y su conjunto de características. Es posible que la mejor opción para algunas aplicaciones sea no migrar nunca. En el caso de las aplicaciones que quieran beneficiarse de las inversiones más recientes de Microsoft en la plataforma Windows y .NET, estas aplicaciones deben considerar la posibilidad de pasarse al SDK de Aplicaciones para Windows. Consulte Migración de UWP al SDK de Aplicaciones para Windows.
¿Cuándo *no* debería migrar una aplicación para UWP + WinUI 2 a WinUI 3?
Le recomendamos seguir usando UWP si crea aplicaciones para Xbox, Surface Hub o HoloLens.
¿Está WPF en desuso?
No. WPF sigue siendo compatible, recomendado y recibe también actualizaciones de características. Consulte la hoja de ruta de WPF de en GitHub.
¿Está WinForms en desuso?
No. WinForms sigue siendo compatible y recibe actualizaciones de características. Consulte la hoja de ruta de windows Forms de en GitHub.
¿Está Windows Runtime (WinRT) en desuso?
No. WinRT hace referencia a una interfaz binaria de aplicación (ABI) que permite interoperar entre varios lenguajes. WinRT es la evolución de COM. El SDK de Aplicaciones para Windows brinda la mayor parte de su funcionalidad a través de las API de WinRT.