Compartir a través de


¿Qué es una aplicación para la Plataforma universal de Windows (UWP)?

UWP es una de las muchas maneras de crear aplicaciones cliente para Windows.

Nota:

Si no está familiarizado con el desarrollo de aplicaciones de Windows, le recomendamos que considere la posibilidad de usar el SDK de Aplicaciones para Windows y WinUI en lugar de UWP. Aunque sigue siendo compatible, UWP no está en desarrollo activo. Consulte Empezar a desarrollar aplicaciones de Windows para obtener más información.

Para descargar las herramientas que necesitarás para empezar a crear aplicaciones de Windows, consulta Instalar herramientas para windows App SDK y, a continuación, escribir la primera aplicación.

¿Dónde encaja UWP en la historia de desarrollo de Microsoft?

UWP es una opción para crear aplicaciones que se ejecutan en dispositivos Windows 10 y Windows 11, y se pueden combinar con otras plataformas. Las aplicaciones para UWP pueden usar las API de Win32 y las clases de .NET (consulta Conjuntos de API para aplicaciones para UWP, dlls para aplicaciones para UWP y .NET para aplicaciones para UWP).

Características de una aplicación para UWP

Una aplicación para UWP es:

  • Seguro: las aplicaciones para UWP declaran qué recursos de dispositivo y datos acceden. El usuario debe autorizar ese acceso.
  • Puede usar una API común en todos los dispositivos que ejecutan Windows.
  • Capaz de utilizar capacidades específicas del dispositivo y adaptar la interfaz de usuario a diferentes tamaños de pantalla, resoluciones y DPI.
  • Disponible en Microsoft Store en todos los dispositivos (o solo los que especifique) que se ejecutan en Windows 10 o Windows 11. Microsoft Store proporciona varias maneras de ganar dinero en la aplicación.
  • Se puede instalar y desinstalar sin riesgo para la máquina ni causar una "degradación del sistema".
  • Atractivo: utiliza los iconos dinámicos, notificaciones push y actividades de usuario que interactúen con la Cronología de Windows y Continúa donde lo dejaste de Cortana, para atraer a los usuarios.
  • Programable en C#, C++, Visual Basic y JavaScript. Para la interfaz de usuario, use WinUI, XAML, HTML o DirectX.

Echemos un vistazo a ellos con más detalle.

Seguro

Las aplicaciones para UWP declaran en su manifiesto las funcionalidades del dispositivo que necesitan, como el acceso al micrófono, la ubicación, la cámara web, los dispositivos USB, los archivos, etc. El usuario debe confirmar y autorizar ese acceso antes de que se conceda la funcionalidad a la aplicación.

Una superficie de API común en todos los dispositivos

Windows 10 introdujo la Plataforma universal de Windows (UWP), que proporciona una plataforma de aplicaciones común en cada dispositivo que ejecuta Windows. Las API principales de UWP son las mismas en todos los dispositivos Windows. Si la aplicación solo usa las API principales, se ejecutará en cualquier dispositivo Windows, independientemente de si se dirige a un equipo de escritorio, Xbox, cascos de realidad mixta, etc.

Una aplicación para UWP escrita en C++/WinRT tiene acceso a las API de Win32 que forman parte de la UWP. Todas las API de Win32 se implementan en todos los dispositivos Windows.

Los SDK de extensión exponen las funcionalidades únicas de tipos de dispositivo específicos

Si tiene como destino las API universales, la aplicación puede ejecutarse en todos los dispositivos que ejecutan Windows 10 o posterior. Pero si quieres que tu aplicación para UWP aproveche las API específicas del dispositivo, también puedes hacerlo.

Los SDK de extensión permiten llamar a api especializadas para diferentes dispositivos. Por ejemplo, si tu aplicación UWP está dirigida a un dispositivo IoT, puedes agregar el SDK de extensión de IoT a tu proyecto para abordar características específicas de estos dispositivos. Para obtener más información sobre agregar los SDKs de extensión, consulte la sección SDKs de extensión en Programación con SDKs de extensión.

Puedes escribir la aplicación para que esperes que se ejecute solo en un tipo determinado de dispositivo y, a continuación, limitar su distribución de Microsoft Store a solo ese tipo de dispositivo. O bien, puede probar condicionalmente la presencia de una API en tiempo de ejecución y adaptar el comportamiento de la aplicación en consecuencia. Para obtener más información, consulte la sección escritura de código en Programación con SDKs de extensiones.

Controles adaptables y entrada

Los elementos de la interfaz de usuario responden al tamaño y DPI de la pantalla en la que se ejecuta la aplicación, ajustando el diseño y la escala según corresponda. Las aplicaciones para UWP funcionan bien con varios tipos de entrada, como el teclado, el mouse, la entrada táctil, el lápiz y los controladores de juego. Si necesitas adaptar aún más la interfaz de usuario a un tamaño de pantalla o dispositivo específico, los nuevos paneles de diseño y las herramientas te ayudarán a diseñar la interfaz de usuario que pueda adaptarse a los diferentes dispositivos y factores de forma en los que se pueda ejecutar la aplicación.

dispositivos equipados con Windows

Windows le ayuda a dirigir la interfaz de usuario a varios dispositivos con las siguientes características:

  • Los controles universales y los paneles de diseño le ayudan a optimizar la interfaz de usuario para la resolución de pantalla del dispositivo. Por ejemplo, los controles como botones y controles deslizantes se adaptan automáticamente al tamaño de pantalla del dispositivo y a la densidad de PPP. Los paneles de diseño ayudan a ajustar el diseño del contenido en función del tamaño de la pantalla. El escalado adaptable se ajusta a las diferencias de resolución y PPP entre los dispositivos.
  • El control de entrada común te permite recibir entradas a través de la entrada de función táctil, un lápiz, un ratón, un teclado o un controlador de juego.
  • Herramientas que le ayudan a diseñar la interfaz de usuario que puede adaptarse a diferentes resoluciones de pantalla.

Algunos aspectos de la interfaz de usuario de la aplicación se adaptarán automáticamente en todos los dispositivos. Sin embargo, es posible que el diseño de la experiencia del usuario de la aplicación tenga que adaptarse en función del dispositivo en el que se ejecuta la aplicación. Por ejemplo, una aplicación de fotos podría adaptar su interfaz de usuario cuando se ejecuta en un dispositivo pequeño y portátil para asegurarse de que el uso es ideal para el uso con una sola mano. Cuando una aplicación de fotos se ejecuta en un equipo de escritorio, la interfaz de usuario debe adaptarse para aprovechar el espacio de pantalla adicional.

Hay una tienda para todos los dispositivos

Una tienda de aplicaciones unificada hace que la aplicación esté disponible en dispositivos Windows, como PC, tableta, Xbox, HoloLens, Surface Hub e Internet de las cosas (IoT). Puedes enviar la aplicación a la tienda y ponerla a disposición de todos los tipos de dispositivos, o solo las que elijas. Envía y administra todas las aplicaciones para dispositivos Windows en un solo lugar. ¿Tienes una aplicación de escritorio de C++ que quieres modernizar con características de UWP y vender en Microsoft Store? Eso también está bien.

Las aplicaciones para UWP se integran con Application Insights para obtener datos detallados de telemetría y análisis, una herramienta fundamental para comprender a los usuarios y mejorar las aplicaciones.

Las aplicaciones para UWP se pueden empaquetar con MSIX y distribuirse a través de Microsoft Store, o de otras maneras. MSIX permite que las aplicaciones se actualicen independientemente de cómo se distribuyan; puedes consultar Actualizar paquetes de aplicaciones que no se publicaron en la Tienda desde tu código.

Rentabilizar la aplicación

Puedes elegir cómo monetizarás tu aplicación. Hay varias maneras de ganar dinero con tu aplicación. Todo lo que necesita hacer es elegir el que mejor funcione para usted, por ejemplo:

  • Una descarga de pago es la opción más sencilla. Solo di el precio.
  • Las versiones de prueba permiten a los usuarios probar la aplicación antes de comprarla, lo que proporciona una mayor detectabilidad y conversión que las opciones más tradicionales de "freemium".
  • Precios de venta para incentivos a los usuarios.
  • Compras desde la aplicación.

Entregar información relevante y en tiempo real a los usuarios para que vuelvan

Hay varias maneras de mantener a los usuarios comprometidos con la aplicación para UWP:

  • Iconos dinámicos y iconos de pantalla de bloqueo que muestran información contextualmente relevante y oportuna de la aplicación de un vistazo.
  • Notificaciones push que aportan alertas en tiempo real a la atención del usuario.
  • Las actividades de usuario permiten a los usuarios continuar donde lo dejaron en tu aplicación, incluso entre dispositivos.
  • El Centro de actividades organiza las notificaciones de la aplicación.
  • La ejecución en segundo plano y los desencadenadores llevan la aplicación a la acción cuando el usuario lo necesita.
  • La aplicación puede usar dispositivos de voz y Bluetooth LE para ayudar a los usuarios a interactuar con el mundo que les rodea.
  • Integre Cortana para agregar la funcionalidad de comandos de voz a la aplicación.

Utilice un idioma que ya conoce

Las aplicaciones para UWP usan Windows Runtime, la API nativa proporcionada por el sistema operativo. Esta API se implementa en C++ y se admite en C#, Visual Basic, C++y JavaScript. Algunas opciones para escribir aplicaciones para UWP incluyen:

  • INTERFAZ de usuario XAML y C#, VB o C++
  • Interfaz de usuario de DirectX y C++
  • JavaScript y HTML
  • WinUI

Prepararse

Echa un vistazo a Configúrate para descargar las herramientas que necesitas para empezar a crear aplicaciones y, a continuación, escribir tu primera aplicación.

Diseño de la aplicación

El sistema de diseño de Microsoft se denomina Fluent. El sistema Fluent Design es un conjunto de características para UWP combinadas con procedimientos recomendados para crear aplicaciones que funcionan perfectamente en todos los tipos de dispositivos con Windows. Las experiencias de uso fluido se adaptan y se sienten naturales en dispositivos, desde tabletas a portátiles, desde ordenadores hasta televisores, y en dispositivos de realidad virtual. Consulta El sistema Fluent Design para aplicaciones para UWP para obtener una introducción a Fluent Design.

Buen diseño es el proceso de decidir cómo interactuarán los usuarios con tu aplicación, además de cómo se verá y funcionará. La experiencia del usuario desempeña un papel crucial en determinar cuán felices estarán las personas con tu aplicación, así que no escatimes en este paso. Los conceptos básicos de diseño te presentan el diseño de una aplicación universal de Windows. Consulta la de del dispositivo para ayudarte a pensar en la experiencia de interacción del uso de la aplicación en todos los distintos factores de forma a los que quieres tener como destino.

Además de la interacción en diferentes dispositivos, planifica tu aplicación para aprovechar las ventajas de trabajar en varios dispositivos. Por ejemplo:

Agregar servicios

Envía tu aplicación a la Tienda

Centro de Partners permite administrar y enviar todas las aplicaciones para dispositivos Windows en un solo lugar. Consulta Publicar aplicaciones y juegos de Windows para obtener información sobre cómo enviar tus aplicaciones para su publicación en Microsoft Store.

Las nuevas características simplifican los procesos a la vez que le proporcionan más control. También encontrará informes analíticos detallados detalles de pago combinados, formas de promover la aplicación e interactuar con los clientesy mucho más.

Para obtener más material introductorio, consulta Introducción a la creación de aplicaciones de Windows para dispositivos Windows 10

Temas más avanzados

Cómo se relaciona la Plataforma universal de Windows con las API de Windows Runtime

Si estás desarrollando una aplicación para la Plataforma Universal de Windows (UWP), puedes obtener una gran ventaja y comodidad al tratar los términos "Plataforma Universal de Windows (UWP)" y "Windows Runtime (WinRT)" como más o menos sinónimos. Pero es posible examinar en profundidad la tecnología y determinar exactamente cuál es la diferencia entre esas ideas. Si tiene curiosidad por eso, esta última sección es para usted.

Las API de Windows Runtime y WinRT son una evolución de las API de Windows. Originalmente, Windows se programó a través de las API Win32 de estilo C planas. A las API COM agregadas (DirectX ser un ejemplo destacado). Windows Forms, WPF, .NET y lenguajes administrados trajeron su propia manera de escribir aplicaciones de Windows y su propio tipo de tecnología de API. Windows Runtime es, en segundo plano, la siguiente fase de COM. En la capa real de la interfaz binaria de aplicaciones (ABI), sus raíces en COM se vuelven visibles. Pero Windows Runtime se diseñó para ser invocable desde una gran variedad de lenguajes de programación diferentes. Y se puede invocar de una manera muy natural para cada uno de esos idiomas. Para ello, el acceso a Windows Runtime está disponible a través de lo que se conoce como proyecciones de lenguaje. Hay una proyección de lenguaje de Windows Runtime en C#, en Visual Basic, en C++estándar, en JavaScript, etc. Además, una vez empaquetado correctamente (consulte Puente de escritorio), puedes llamar a las API de WinRT desde una aplicación integrada en una de las grandes gamas de modelos de aplicación: Win32, .NET, WinForms y WPF.

Y, por supuesto, puedes llamar a las API de WinRT desde tu aplicación para UWP. UWP es un modelo de aplicación basado en Windows Runtime. Técnicamente, el modelo de aplicación para UWP se basa en CoreApplication, aunque ese detalle puede ocultarse de ti, dependiendo de tu elección del lenguaje de programación. Como se ha explicado en este tema, desde un punto de vista de propuesta de valor, la UWP se presta a escribir un único binario que, si así lo desea, puede ser publicado en Microsoft Store y ejecutarse en cualquiera de una amplia variedad de factores de forma de dispositivo. El alcance a dispositivos de tu aplicación UWP depende del subconjunto de las API de Windows Runtime al que limites las llamadas de tu aplicación o que llames condicionalmente.

Esperamos que esta sección haya tenido éxito en describir la diferencia entre la tecnología subyacente de las API de Windows Runtime, el mecanismo, el valor comercial de la Plataforma Universal de Windows.