¿Qué es una aplicación para la Plataforma universal de Windows (UWP)?What's a Universal Windows Platform (UWP) app?

Las aplicaciones para la Plataforma universal de Windows se ejecutan en una amplia variedad de dispositivos, son compatibles con interfaces de usuario adaptables y ofrecen una entrada de usuario natural, un almacén, centro partner y servicios en la nube

Una aplicación para UWP es:A UWP app is:

  • Segura: Las aplicaciones para UWP declaran cuáles son los recursos y datos de dispositivos a los que acceden.Secure: UWP apps declare which device resources and data they access. El usuario debe autorizar ese acceso.The user must authorize that access.
  • Puede usar una API común en todos los dispositivos que ejecutan Windows 10.Able to use a common API on all devices that run Windows 10.
  • Puede usar funcionalidades específicas del dispositivo y adaptar la interfaz de usuario para los tamaños de pantalla de otro dispositivo, resoluciones y ppp.Able to use device specific capabilities and adapt the UI to different device screen sizes, resolutions, and DPI.
  • Disponible desde Microsoft Store en todos los dispositivos (o solo aquellos que especifique) que se ejecutan en Windows 10.Available from the Microsoft Store on all devices (or only those that you specify) that run on Windows 10. Microsoft Store proporciona varias maneras de ganar dinero en tu aplicación.The Microsoft Store provides multiple ways to make money on your app.
  • Puede instalarse y desinstalarse sin riesgo para la máquina ni incurrir en "máquina rot".Able to be installed and uninstalled without risk to the machine or incurring "machine rot".
  • Atractiva: usa iconos dinámicos, notificaciones push y actividades del usuario que interactúan con la línea de tiempo de Windows y la función Continuar donde lo dejé de Cortana para atraer a los usuarios.Engaging: use live tiles, push notifications, and user activities that interact with Windows Timeline and Cortana's Pick Up Where I Left Off, to engage users.
  • Programable en C#, C++, Visual Basic y Javascript.Programmable in C#, C++, Visual Basic, and Javascript. Para la interfaz de usuario, usa XAML, HTML o DirectX.For UI, use XAML, HTML, or DirectX.

Veamos esto con más detalle.Let's look at these in more detail.

SeguraSecure

La aplicaciones para UWP declaran en el 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.UWP apps declare in their manifest the device capabilities they need such as access to the microphone, location, Webcam, USB devices, files, and so on. El usuario debe confirmar y autorizar ese acceso antes de que la aplicación obtenga la funcionalidad.The user must acknowledge and authorize that access before the app is granted the capability.

Una superficie de API común para todos los dispositivosA common API surface across all devices

Windows 10 presenta la Plataforma universal de Windows (UWP), la cual proporciona una plataforma común de aplicaciones en todos los dispositivos que ejecutan Windows 10.Windows 10 introduces the Universal Windows Platform (UWP), which provides a common app platform on every device that runs Windows 10. Las API principales de la UWP son las mismas en todos los dispositivos de Windows.The UWP core APIs are the same on all Windows devices. Si su aplicación usa solo las API principales, se ejecutará en cualquier dispositivo de Windows 10, independientemente de si es un equipo de escritorio, una Xbox, un casco de realidad mixta, etc.If your app only uses the core APIs, it will run on any Windows 10 device no matter whether you are targeting a desktop PC, Xbox, Mixed-reality headset, and so on.

Una aplicación para UWP escrita en C++ /WinRT o C++ /CX tiene acceso a las API de Win32 que forman parte de la UWP.A UWP app written in C++ /WinRT or C++ /CX has access to the Win32 APIs that are part of the UWP. Todas los dispositivos de Windows 10 implementan estas API de Win32.These Win32 APIs are implemented by all Windows 10 devices.

Las SDK de extensión exponen las funcionalidades exclusivas de tipos específicos de dispositivosExtension SDKs expose the unique capabilities of specific device types

Si su destino son las API universales, la aplicación puede ejecutarse en todos los dispositivos con Windows 10.If you target the universal APIs, your app can run on all devices that run Windows 10. Sin embargo, si quiere que su aplicación para UWP aproveche las API específicas del dispositivo, puede hacerlo.But if you want your UWP app to take advantage of device specific APIs, you can.

Las SDK de extensión le permiten llamar a las API especializadas para diferentes dispositivos.Extension SDKs let you call specialized APIs for different devices. Por ejemplo, si su aplicación para UWP está destinada a un dispositivo de IoT, puede agregar la SDK de extensión IoT a su proyecto para dirigirse a características específicas de los dispositivos IoT.For example, if your UWP app targets an IoT device, you can add the IoT extension SDK to your project to target features specific to IoT devices. Para obtener más información sobre cómo agregar SDK de extensión, consulte la sección SDK de extensión en Introducción a las familias de dispositivos.For more information about adding extension SDKs, see the Extension SDKs section in Device families overview.

Puede escribir su aplicación para que se ejecute solo en un determinado tipo de dispositivo y, a continuación, limitar su distribución desde Microsoft Store a solo ese tipo de dispositivo.You can write your app so that you expect it to run only on a particular type of device, and then limit its distribution from the Microsoft Store to just that type of device. O bien, puede probar de manera condicional la presencia de una API en tiempo de ejecución y adaptar el comportamiento de la aplicación en consecuencia.Or, you can conditionally test for the presence of an API at runtime and adapt your app's behavior accordingly. Para obtener más información, consulte la sección Escribir código en Introducción a las familias de dispositivos.For more information, see the Writing Code section in Device families overview.

El siguiente vídeo proporciona una breve introducción a las familias de dispositivos y el código adaptable:The following video provides a brief overview of device families and adaptive coding:

Controles y entrada adaptablesAdaptive controls and input

Los elementos de la interfaz de usuario responden al tamaño y los ppp de la pantalla sobre la que se ejecuta la aplicación al ajustar su escala y diseño.UI elements respond to the size and DPI of the screen the app is running on by adjusting their layout and scale. Las aplicaciones para UWP funcionan bien con varios tipos de entrada como el teclado, el mouse, la funcionalidad táctil, el lápiz táctil y los controladores de Xbox One.UWP apps work well with multiple types of input such as keyboard, mouse, touch, pen, and Xbox One controllers. Si necesita personalizar aún más la interfaz de usuario a un tamaño de pantalla o un dispositivo específicos, los nuevos paneles y herramientas de diseño le ayudarán a diseñar interfaces de usuario que se puedan adaptar a los diferentes dispositivos y factores de forma sobre los que se ejecute la aplicación.If you need to further tailor your UI to a specific screen size or device, new layout panels and tooling help you design UI that can adapt to the different devices and form factors that your app may run on.

Dispositivos de Windows

Windows te ayuda a destinar la interfaz de usuario a varios dispositivos con las siguientes características:Windows helps you target your UI to multiple devices with the following features:

  • Los controles universales y paneles de diseño te ayudan a optimizar la interfaz de usuario para la resolución de pantalla del dispositivo.Universal controls and layout panels help you to optimize your UI for the screen resolution of the device. 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.For example, controls such as buttons and sliders automatically adapt to device screen size and DPI density. Los paneles de diseño ayudan a ajustar el diseño del contenido en función del tamaño de la pantalla.Layout panels help adjust the layout of content based on the size of the screen. El ajuste de escala adaptable se amolda a la resolución y a las diferencias de ppp de todos los dispositivos.Adaptive scaling adjusts to resolution and DPI differences across devices.
  • El control de entrada común te permite recibir una entrada mediante función táctil, un lápiz, un mouse, un teclado o bien un controlador, como el controlador de Microsoft Xbox.Common input handling allows you to receive input through touch, a pen, a mouse, a keyboard, or a controller such as a Microsoft Xbox controller.
  • Las herramientas que le ayudan a diseñar una interfaz de usuario que se pueda adaptar a diferentes resoluciones de pantalla.Tooling that helps you to design UI that can adapt to different screen resolutions.

Algunos aspectos de la interfaz de usuario de la aplicación se adaptan automáticamente en todos los dispositivos.Some aspects of your app's UI will automatically adapt across devices. Sin embargo, quizá haya que adaptar el diseño de la experiencia del usuario en la aplicación, en función del dispositivo en el que esta se ejecute.Your app's user-experience design, however, may need to adapt depending on the device the app is running on. Por ejemplo, una aplicación de fotos podría adaptar su interfaz de usuario cuando se ejecute en un dispositivo portátil y pequeño para garantizar que pueda usarse perfectamente con una sola mano.For example, a photo app could adapt its UI when running on a small, handheld device to ensure that usage is ideal for single-handed use. Cuando una aplicación de fotos se ejecuta en un ordenador de escritorio, la interfaz de usuario debe adaptarse para aprovechar el espacio de pantalla adicional.When a photo app is running on a desktop computer, the UI should adapt to take advantage of the additional screen space.

Hay una store para todos los dispositivosThere's one store for all devices

Una store de aplicaciones unificada hace que la aplicación esté disponible en dispositivos con Windows 10 como PC, tabletas, Xbox, HoloLens, Surface Hub y dispositivos de Internet de las cosas (IoT).A unified app store makes your app available on Windows 10 devices such as PC, tablet, Xbox, HoloLens, Surface Hub, and Internet of Things (IoT) devices. Puede enviar la aplicación a la store y hacer que esté disponible en todos los tipos de dispositivos o solo en los que elija.You can submit your app to the store and make it available to all types of devices, or only those you choose. Puedes enviar y administrar todas tus aplicaciones para los dispositivos de Windows en un solo lugar.You submit and manage all your apps for Windows devices in one place. ¿Tiene una aplicación de escritorio en C++ y quiere modernizarla con características de UWP y venderla en Microsoft Store?Have a C++ desktop app that you want to modernize with UWP features and sell in the Microsoft store? Tampoco hay problema.That's okay, too.

Las aplicaciones para UWP se integran con Application Insights para los análisis y la telemetría detallada, una herramienta esencial para entender a los usuarios y mejorar las aplicaciones.UWP apps integrate with Application Insights for detailed telemetry and analytics—a crucial tool for understanding your users and improving your apps.

Rentabiliza tu aplicaciónMonetize your app

Puede elegir cómo monetizar la aplicación.You can choose how you'll monetize your app. Existen muchas maneras de ganar dinero con las aplicaciones.There are a number of ways to make money with your app. Lo único que necesita hacer es elegir la que mejor se adapte a sus necesidades, por ejemplo:All you need to do is choose the one that works best for you, for example:

  • Una descarga de pago es la opción más simple.A paid download is the simplest option. Simplemente ponga el precio.Just name the price.
  • Las versiones de prueba permiten a los usuarios probar la aplicación antes de comprarla, ya que ofrecen capacidades de detección y conversión más sencillas que las opciones "freemium" más tradicionales.Trials let users try your app before buying it, providing easier discoverability and conversion than the more traditional "freemium" options.
  • Precios de venta para incentivar a los usuarios.Sale prices to incentivize users.
  • También están disponibles compras desde la aplicación y anuncios.In-app purchases and ads are also available.

Las aplicaciones de Microsoft Store proporcionan una experiencia de instalación, desinstalación y actualización sin problemasApps from the Microsoft Store provide a seamless install, uninstall, and upgrade experience

Todas las aplicaciones para UWP se distribuyen mediante un sistema de empaquetado que protege al sistema, al dispositivo y al usuario.All UWP apps are distributed using a packaging system that protects the user, device, and system. Los usuarios nunca tendrán que lamentar haber instalado una aplicación porque las aplicaciones para UWP se pueden desinstalar sin dejar nada atrás, excepto los documentos creados con la aplicación.Users never need regret installing an app because UWP apps can be uninstalled without leaving anything behind except the documents created with the app.

Las aplicaciones se pueden implementar y actualizar sin problemas.Apps can be deployed and updated seamlessly. El empaquetado de la aplicación puede ser modular para poder descargar contenido y extensiones a petición.App packaging can be modularized so that you can download content and extensions on demand.

Entrega información en tiempo real y relevante a los usuarios para que regresenDeliver relevant, real-time info to your users to keep them coming back

Hay varias formas de mantener a los usuarios interesados con la aplicación para UWP:There are a variety of ways to keep users engaged with your UWP app:

  • Iconos dinámicos e iconos de pantalla de bloqueo que muestran información relevante y oportuna según el contexto, desde la aplicación y con solo un vistazo.Live tiles and lock screen tiles that show contextually relevant and timely info from your app at a glance.
  • Notificaciones push que transmiten alertas en tiempo real para llamar la atención del usuario.Push notifications that bring real-time alerts to your user’s attention.
  • Las actividades del usuario permiten que los usuarios reanuden la actividad en la aplicación donde la dejaron, incluso en otros dispositivos.User Activities allow users to pick up where they left off in your app, even across devices.
  • El centro de actividades organiza notificaciones desde la aplicación.The Action Center organizes notifications from your app.
  • La ejecución en segundo plano y los desencadenadores ponen la aplicación en acción justo cuando el usuario lo necesita.Background execution and triggers bring your app into action when the user needs it.
  • Tu aplicación puede usar la voz y dispositivos Bluetooth de bajo consumo para que los usuarios interactúen con el mundo que los rodea.Your app can use voice and Bluetooth LE devices to help users interact with the world around them.
  • Integre Cortana para agregar la funcionalidad de comando de voz a la aplicación.Integrate Cortana to add voice command capability to your app.

Usar un lenguaje que ya conocesUse a language you already know

Las aplicaciones para UWP usan Windows Runtime, la API nativa proporcionada por el sistema operativo.UWP apps use the Windows Runtime, the native API provided by the operating system. Esta API se implementa en C++ y es compatible con C#, Visual Basic, C++ y JavaScript.This API is implemented in C++ and is supported in C#, Visual Basic, C++, and JavaScript. Algunas de las opciones para escribir aplicaciones para UWP son:Some options for writing UWP apps include:

  • Interfaz de usuario XAML, C#, VB o C++XAML UI and C#, VB, or C++
  • Interfaz de usuario DirectX y C++DirectX UI and C++
  • JavaScript y HTMLJavaScript and HTML

PreparaciónGet set up

Consulte Preparación para descargar las herramientas que necesita a fin de empezar a crear aplicaciones y escriba su primera aplicación.Check out Get set up to download the tools you need to start creating apps, and then write your first app.

Diseña tu aplicaciónDesign your app

El sistema de diseño de Microsoft se llama Fluent.The Microsoft design system is named Fluent. El sistema Fluent Design es un conjunto de características para UWP combinado con procedimientos recomendados para crear aplicaciones que funcionan a la perfección en todo tipo de dispositivos con Windows.The Fluent Design System is a set of UWP features combined with best practices for creating apps that perform beautifully on all types of Windows-powered devices. Las experiencias Fluent se adaptan y se usan naturalmente en todos los dispositivos, desde tabletas a portátiles o PC a televisiones, y en dispositivos de realidad virtual.Fluent experiences adapt and feel natural on devices from tablets to laptops, from PCs to televisions, and on virtual reality devices. Consulte El sistema Fluent Design para aplicaciones para UWP para ver una introducción a Fluent Design.See The Fluent Design System for UWP apps for an introduction to Fluent Design.

Un buen diseño consiste en decidir cómo interactuarán los usuarios con la aplicación, además de qué aspecto tendrá y cómo funcionará.Good design is the process of deciding how users will interact with your app, in addition to how it will look and function. La experiencia del usuario tiene un papel clave a la hora de determinar la satisfacción de los usuarios con tu aplicación, así que no ahorres esfuerzos en este paso.User experience plays a huge part in determining how happy people will be with your app, so don't skimp on this step. Conceptos básicos de diseño es una introducción al diseño de aplicación universal de Windows.Design basics introduces you to designing a Universal Windows app. Consulta Introducción a las aplicaciones de la Plataforma universal de Windows (UWP) para diseñadores para obtener información sobre cómo diseñar aplicaciones para UWP que encandilen a los usuarios.See the Introduction to Universal Windows Platform (UWP) apps for designers for information on designing UWP apps that delight your users. Antes de empezar a escribir código, consulta la Información básica de dispositivos , que te ayudará a reflexionar sobre la experiencia de interacción que ofrecerá la aplicación en los diferentes factores de forma a los que quieras destinarla.Before you start coding, see the device primer to help you think through the interaction experience of using your app on all the different form factors you want to target.

Además de la interacción en diferentes dispositivos, planea la aplicación para incorporar las ventajas de trabajar en varios dispositivos.In addition to interaction on different devices, plan your app to embrace the benefits of working across multiple devices. Por ejemplo:For example:

Agrega serviciosAdd services

Envía tu aplicación a la Tienda.Submit your app to the Store

Centro de partners le permite administrar y enviar todas las aplicaciones para dispositivos con Windows en un solo lugar.Partner Center lets you manage and submit all of your apps for Windows devices in one place. Consulte las Publicaciones y juegos de aplicaciones de Windows para aprender a enviar las aplicaciones para la publicación en Microsoft Store.See Publish Windows apps and games to learn how to submit your apps for publication in the Microsoft Store.

Las nuevas funciones simplifican los procesos y te dan más control.New features simplify processes while giving you more control. También encontrarás informes analíticos detallados combinados con detalles de pago, formas de promocionar la aplicación y atraer a los clientes y mucho más.You'll also find detailed analytic reports combined payout details, ways to promote your app and engage with your customers, and much more.

Para obtener más material de introducción, consulte An Introduction to Building Windows Apps for Windows 10 Devices (Introducción a la compilación de aplicaciones para dispositivos para Windows 10)For more introductory material, see An Introduction to Building Windows Apps for Windows 10 Devices

Temas más avanzadosMore advanced topics

Cómo se relaciona con la Plataforma universal de Windows con la API de Windows RuntimeHow the Universal Windows Platform relates to Windows Runtime APIs

Si va a compilar una aplicación de la Plataforma universal de Windows (UWP), a continuación, puede obtener un lote de kilometraje y comodidad de tratamiento de los términos de la "Plataforma de Windows Universal (UWP)" y de "Windows Runtime (WinRT)" más o menos como sinónimos.If you're building a Universal Windows Platform (UWP) app, then you can get a lot of mileage and convenience out of treating the terms "Universal Windows Platform (UWP)" and "Windows Runtime (WinRT)" as more or less synonymous. Pero es posible buscar en la portada de la tecnología y determinar la diferencia entre estas ideas.But it is possible to look under the covers of the technology, and determine just what the difference is between those ideas. Si tiene curiosidad acerca de eso, esta última sección es para usted.If you're curious about that, then this last section is for you.

Las API de Windows Runtime y WinRT son una evolución de las API de Windows.The Windows Runtime, and WinRT APIs, are an evolution of Windows APIs. Originalmente, Windows se programó a través las API planas de Win32 de estilo C.Originally, Windows was programmed via flat, C-style Win32 APIs. A las que se agregaron API COM (DirectX es un ejemplo destacado).To those were added COM APIs (DirectX being a prominent example). Windows Forms, WPF, .NET y los lenguajes administrados tienen su propia manera de escribir aplicaciones de Windows y su propio tipo de la tecnología de API.Windows Forms, WPF, .NET, and managed languages brought their own way of writing Windows apps, and their own flavor of API technology. Windows Runtime es, en segundo plano, la siguiente fase de COM.The Windows Runtime is, under the covers, the next stage of COM. En el nivel actual de interfaz binaria de aplicaciones (ABI), sus raíces en COM se hacen visibles.At the actual application binary interface (ABI) layer, its roots in COM become visible. Pero Windows Runtime se diseñó para que pueda llamar desde una gran gama de diferentes lenguajes de programación.But the Windows Runtime was designed to be callable from a great range of different programming languages. Y para que se puede llamar de manera que sea muy natural a cada uno de esos lenguajes.And callable in a way that's very natural to each of those languages. Con este fin, el acceso a Windows Runtime está disponible a través de lo que se conoce como las proyecciones de lenguaje.To this end, access to the Windows Runtime is made available via what are known as language projections. Hay una proyección de lenguaje de Windows Runtime en C#, Visual Basic, estándar C++, JavaScript, etc.There is a Windows Runtime language projection into C#, into Visual Basic, into standard C++, into JavaScript, and so on. Además, una vez empaquetada adecuadamente (consulta Puente de dispositivo de escritorio), puedes llamar a la API de WinRT desde una aplicación compilada en un modelo de aplicación de una gran gama: Win32, .NET, WinForms, y WPF.Furthermore, once packaged appropriately (see Desktop Bridge), you can call WinRT APIs from an app built in one of a great range of application models: Win32, .NET, WinForms, and WPF.

Y, por supuesto, puede llamar a las API de WinRT desde la aplicación para UWP.And, of course, you can call WinRT APIs from your UWP app. UWP es un modelo de aplicación compilado en Windows Runtime.UWP is an application model built on top of the Windows Runtime. Técnicamente, el modelo de aplicación para UWP se basa en CoreApplication, aunque ese detalle puede estar oculto según la elección del lenguaje de programación.Technically, the UWP application model is based on CoreApplication, although that detail may be hidden from you, depending on your choice of programming language. Tal y como se ha explicado en este tema, desde un punto de vista de la propuesta de valor, la UWP se presta a la escritura de un archivo binario único que puede elegir publicar en Microsoft Store y ejecutar en una gran gama de factores de forma del dispositivo.As this topic has explained, from a value proposition point of view, the UWP lends itself to writing a single binary that can, should you choose, be published to the Microsoft Store and run on any one of a great range of device form factors. La cobertura de los dispositivos de la aplicación para UWP depende del subconjunto de las API de UWP a las que limita que llame la aplicación o que llama condicionalmente.The device reach of your UWP app depends on the subset of UWP APIs that you limit your app to calling, or that you call conditionally.

Esperamos que esta sección haya descrito adecuadamente la diferencia entre la tecnología subyacente de las API de Windows Runtime y el mecanismo y valor empresarial de la Plataforma universal de Windows.Hopefully, this section has been successful in describing the difference between the technology underlying Windows Runtime APIs, and the mechanism and business value of the Universal Windows Platform.