Leer en inglés

Compartir a través de


Información general sobre las opciones del marco de desarrollo

Este artículo contiene la información que necesita para empezar a crear aplicaciones para Windows.

Windows ofrece una amplia gama de lenguajes, marcos y herramientas para compilar aplicaciones, como WinUI, React Native para escritorio, WPF, C++, C#, .NET y una variedad de marcos multiplataforma. Aquí proporcionamos información para ayudarle a decidir qué opción es la mejor para usted.

WinUI

.

Se recomienda WinUI y el SDK de Aplicaciones para Windows crear aplicaciones que se ven muy bien y se aprovechan de las últimas versiones de Windows. Si no está familiarizado con el desarrollo de Windows o si está empezando a trabajar en una nueva aplicación de Windows, WinUI proporciona los recursos que necesita para crear grandes aplicaciones para Windows 11.

WinUI es una capa de interfaz de usuario basada en marcado XAML que contiene controles y estilos modernos para crear aplicaciones de Windows. Como capa nativa de la interfaz de usuario para el SDK de Aplicaciones para Windows, incorpora Fluent Design, lo que proporciona a cada aplicación de Windows el aspecto pulido que esperan los clientes.

Nota

El SDK de Aplicaciones para Windows es un conjunto de nuevas herramientas y componentes para desarrolladores que representa la última evolución en la plataforma de desarrollo de aplicaciones de Windows. El SDK de Aplicaciones para Windows proporciona un conjunto unificado de API y herramientas que cualquier aplicación de escritorio puede usar de forma coherente en Windows 11 y niveles inferiores hasta Windows 10, versión 1809.

Aunque WinUI es la capa nativa de la interfaz de usuario, puede usar el SDK de Aplicaciones para Windows con aplicaciones WPF, WinForms o Win32. Si ya ha desarrollado aplicaciones para Windows, pero desea empezar a utilizar el SDK de Aplicaciones para Windows en una aplicación existente, consulte las guías específicas del marco.

React Native para escritorio

React Native es una plataforma de desarrollo que permite crear aplicaciones multiplataforma. React Native para escritorio abarca React Native para Windows y macOS, lo que aporta compatibilidad con React Native al SDK de Windows. React Native para escritorio permite usar JavaScript para compilar aplicaciones nativas de Windows para todos los dispositivos compatibles con Windows 10 y Windows 11. Esto incluye equipos, tabletas, 2 en 1, Xbox, dispositivos de Mixed Reality, etc.

Con React Native for Desktop, escribes la mayoría o todo el código de la aplicación en JavaScript (o TypeScript) y el marco genera una aplicación XAML para UWP nativa. Si la aplicación tiene que llamar a una API de plataforma, normalmente puede hacerlo a través de uno de los muchos módulos de la comunidad o, si aún no existe un módulo, fácilmente puede escribir un módulo nativo para exponerlo.

Estas son algunas de las razones para elegir React Native para escritorio:

  • Quiere compartir código entre plataformas en la mayor medida posible, o bien tiene propiedades web con las que quiere compartir código.
  • Una mejora en la productividad de los desarrolladores y en el bucle interno, gracias a la actualización rápida.
  • Los aspectos básicos de la aplicación (rendimiento, accesibilidad, internacionalización) son tan buenos como una aplicación nativa para UWP.
  • Tiene experiencia y preferencia por JavaScript o TypeScript.
  • Le gustaría aprovechar las bibliotecas solo de JavaScript en npmjs.com y también muchas bibliotecas nativas.
  • La aplicación usará los controles nativos, la apariencia visual, las animaciones y los colores y, por tanto, se verá integrada en el lenguaje de diseño que se usa en Windows. Además, React Native para aplicaciones de escritorio no tiene que poner en peligro el conjunto de API a las que pueden llamar, ya que el marco le permite llamar a las API de la plataforma, así como escribir sus propios administradores de vistas y módulos nativos.
  • Aprovechar el impulso de una comunidad grande y creciente, con una gran cantidad de módulos de la comunidad.

Para obtener más información sobre React Native for Desktop, consulte los vínculos siguientes:

WPF

WPF es un marco bien establecido para aplicaciones de escritorio de Windows con acceso a .NET o .NET Framework. Al igual que WinUI, también usa el marcado XAML para separar la interfaz de usuario del código. WPF ofrece un conjunto completo de características de desarrollo de aplicaciones que incluyen controles, enlace de datos, diseño, gráficos en 2D y 3D, animación, estilos, plantillas, documentos, elementos multimedia, texto y tipografía. WPF es parte de. NET, así que permite compilar aplicaciones que incorporan otros elementos de la API de .NET.

Además, ahora puede integrar un entorno de espacio aislado en las aplicaciones WPF empaquetadas, lo que proporciona una capa adicional de seguridad. Esta mejora requiere poco o ningún cambio en el código, gracias a la nueva característica de seguridad de aislamiento de aplicaciones Win32.

Sugerencia

Si ya ha invertido en WPF, puede seguir utilizándolo y aprovechar las opciones de modernización de .NET 9. Puede compilar sus aplicaciones sabiendo que Microsoft sigue invirtiendo en WPF. Consulte preguntas más frecuentes sobre el marco de desarrollo de aplicaciones cliente para obtener más información.

Si tiene una aplicación WPF .NET, también tiene acceso a las API y las características modernas de la plataforma Windows que proporciona el SDK de Aplicaciones para Windows. Para obtener más información, consulte Uso del SDK de Aplicaciones para Windows en una aplicación WPF y Modernización de las aplicaciones de escritorio.

Sugerencia

Si necesita más ayuda para decidir qué marco es la mejor opción para su aplicación, consulte el módulo de formación Elección del mejor marco de aplicaciones para un proyecto de desarrollo de Windows.

Otras opciones de plataforma nativa

Muchas aplicaciones para Windows se escriben con Win32, Windows Forms o UWP. Cada uno de estos marcos es compatible y seguirá recibiendo correcciones de errores, confiabilidad y seguridad, pero diferentes niveles de inversión para nuevas características y estilos. Para obtener más información sobre estos tipos de aplicaciones, consulte las pestañas siguientes.

Las aplicaciones de escritorio Win32 (también denominadas a veces aplicaciones de escritorio clásicas) son el tipo de aplicación original de las aplicaciones nativas de Windows que requieren acceso directo a Windows y al hardware. Esto hace que el tipo de aplicación Win32 sea la preferida para las aplicaciones que necesitan el mayor nivel de rendimiento y acceso directo al hardware del sistema.

El uso de Win32 API con C++ permite lograr los niveles más altos de rendimiento y eficiencia y tomar un mayor control de la plataforma de destino con código no administrado de lo que es posible en un entorno de ejecución administrado como WinRT y .NET. Sin embargo, ejercer este nivel de control sobre la ejecución de la aplicación requiere un mayor cuidado y atención para hacerlo bien, y sacrifica productividad durante el desarrollo a cambio de rendimiento en tiempo de ejecución.

Estos son algunos aspectos destacados de lo que ofrece Win32 API y C++ que te permitirán crear aplicaciones de alto rendimiento.

  • Optimizaciones de nivel de hardware, como un estrecho control sobre la asignación de recursos, la duración de los objetos, el diseño de los datos, la alineación, el empaquetado de bytes, etc.
  • Acceso a conjuntos de instrucciones orientadas al rendimiento como SSE y AVX a través de funciones intrínsecas.
  • Programación genérica eficaz y con seguridad de tipos mediante el uso de plantillas.
  • Contenedores y algoritmos eficaces y seguros.
  • DirectX, en particular Direct3D y DirectCompute.
  • Use C++/WinRT para crear aplicaciones de escritorio Win32 modernas con acceso de primera clase a las API de Windows Runtime (WinRT).

Además, ahora puede integrar un entorno de espacio aislado en las aplicaciones Win32, lo que proporciona una capa adicional de seguridad. Esta mejora requiere poco o ningún cambio en el código, gracias a la nueva característica de seguridad de aislamiento de aplicaciones Win32.

También tiene acceso a las API y las características modernas de la plataforma Windows que proporciona el SDK de aplicaciones para Windows. Para obtener más información, consulte Uso del SDK de Aplicaciones para Windows en un proyecto existente y Modernización de las aplicaciones de escritorio.

Otras opciones multiplataforma

Si necesita que la aplicación sea multiplataforma, además de React Native for Desktop, debe tener en cuenta .NET MAUI o una aplicación web progresiva (PWA). Hay muchas otras opciones disponibles (aquí hay una lista de opciones populares), pero estos son algunos buenos puntos de partida.

.NET MAUI aprovecha la eficacia de WinUI en Windows, al mismo tiempo que habilita la ejecución en otros sistemas operativos. Otra opción multiplataforma como las aplicaciones web progresivas (PWA), son sitios web que funcionan como aplicaciones nativas que ya están instaladas en Windows y otras plataformas compatibles, a la vez que funcionan como sitios web normales en los exploradores.

Para obtener más información, consulte las pestañas siguientes:

La interfaz de usuario de la aplicación multiplataforma de .NET (MAUI) es un marco multiplataforma de código abierto para crear aplicaciones de Android, iOS, macOS y Windows que aprovechan la interfaz de usuario nativa y los servicios de cada plataforma desde una única base de código .NET. Dado que .NET MAUI favorece las experiencias nativas de la plataforma, usa WinUI y el SDK de Aplicaciones para Windows para que las aplicaciones obtengan la experiencia de usuario más reciente en Windows. Esto le da a sus aplicaciones acceso a todo lo que ofrece WinUI más la capacidad de llegar a otras plataformas.

.NET MAUI para Windows es una excelente opción si:

  • Quiere compartir tanto código de .NET como sea posible entre aplicaciones móviles y de escritorio.
  • Quiere enviar la aplicación más allá de Windows a otros destinos de escritorio y móviles con experiencias nativas de la plataforma.
  • Quiere usar C# o XAML para compilar aplicaciones multiplataforma.
  • Está usando Blazor para el desarrollo web y quiere incluir todo o parte de su proyecto en una aplicación móvil o de escritorio.

Para obtener más información acerca de .NET MAUI, consulte los siguientes vínculos:

Comparación de características del marco de desarrollo de aplicaciones

Hay una amplia gama de opciones para desarrollar aplicaciones para Windows. La mejor opción para usted depende de los requisitos de su aplicación, su código existente y su familiaridad con la tecnología. En la tabla siguiente se enumeran los marcos de desarrollo de aplicaciones más populares disponibles en Windows y las características compatibles con cada marco.

Característica .NET MAUI Blazor Hybrid React Native para escritorio XAML de UWP (Windows.UI.Xaml) Win32 (MFC o ATL) Windows Forms WinUI 3 WPF
Idioma C# C# JavaScript, TypeScript C#, C++, Visual Basic C++, Rust C#, Visual Basic C#, C++ C#, Visual Basic
El idioma de la interfaz de usuario XAML/Código Razor JSX XAML Código Código XAML XAML
Diseñador de experiencias de usuario
(arrastrar y colocar)
Depuración de la interfaz de usuario Recarga activa Recarga activa Actualización rápida Recarga activa - Recarga activa Recarga activa Recarga activa
Fluent Design ✅ (a través de WinUI 2)
.NET .NET .NET N/D .NET Core y .NET Native N/D .NET y .NET Framework .NET .NET y .NET Framework
SDK para aplicaciones de Windows ✅ (más información) mediante MAUI ✅ (más información) ✅ (más información) ✅ (más información)
Genial para la entrada táctil
Multiplataforma
Aplicaciones de Xbox/HoloLens
Espacio aislado (AppContainer)
Actualmente se admite
Recibir actualizaciones ✅ (seguridad y corrección de errores)
Hoja de ruta GitHub GitHub GitHub N/D N/D GitHub GitHub GitHub

Obtenga más información sobre cada una de estas opciones:

Pasos siguientes