Articulo de referencia

Plataforma universal de Windows

La Plataforma Universal de Windows ( UWP ) es una plataforma informática creada por Microsoft e introducida en Windows 10. El propósito de esta plataforma es ayudar a desarrolla...

La Plataforma Universal de Windows ( UWP ) es una plataforma informática creada por Microsoft e introducida en Windows 10. El propósito de esta plataforma es ayudar a desarrollar aplicaciones universales que se ejecuten en Windows 10, Windows 10 Mobile (descontinuado), Windows 11 , Xbox One , Xbox Series X/S y HoloLens sin necesidad de reescribirlas para cada una . Admite el desarrollo de aplicaciones de Windows usando C++ , C# , VB.NET y XAML . La API está implementada en C++ y es compatible con C++, VB.NET, C#, F# y JavaScript . [ 1 ] Diseñada como una extensión de la plataforma Windows Runtime (WinRT) introducida en Windows Server 2012 y Windows 8 , UWP permite a los desarrolladores crear aplicaciones que potencialmente se ejecutarán en múltiples tipos de dispositivos. [ 2 ]

UWP no está dirigido a sistemas que no sean de Microsoft. La solución de Microsoft para otras plataformas es .NET MAUI (anteriormente " Xamarin.Forms " [ 3 ] ), una API de código abierto creada por Xamarin , una subsidiaria de Microsoft desde 2016. También existen soluciones de la comunidad para plataformas no dirigidas, como Uno Platform .

Compatibilidad

UWP forma parte de Windows 10, Windows 10 Mobile y Windows 11. Las aplicaciones UWP no se ejecutan en versiones anteriores de Windows.

Las aplicaciones que pueden implementar esta plataforma se desarrollan de forma nativa utilizando Visual Studio 2015 , Visual Studio 2017 , Visual Studio 2019 o Visual Studio 2022. Las aplicaciones antiguas de estilo Metro para Windows 8.1 , Windows Phone 8.1 o para ambos (universal 8.1) necesitan modificaciones para migrar a UWP. [ 4 ] [ 5 ]

Algunas características de la plataforma Windows en versiones posteriores han sido exclusivas de UWP y del software empaquetado específicamente para ello, y no se pueden usar en otras arquitecturas como WinAPI , WPF y Windows Forms . Sin embargo, a partir de 2019, Microsoft ha tomado medidas para aumentar la paridad entre estas plataformas de aplicaciones y hacer que las características de UWP se puedan usar dentro de software que no sea UWP. Microsoft introdujo XAML Islands (un método para incrustar controles y widgets de UWP en software que no sea UWP) como parte de la actualización de Windows 10 de mayo de 2019, y declaró que también permitiría invocar funciones de UWP y componentes de Windows Runtime dentro de software no empaquetado. [ 6 ]

puentes API

Los puentes UWP traducen las llamadas de otras interfaces de programación de aplicaciones (API) a la interfaz UWP, de modo que las aplicaciones escritas en estas API se ejecutan en UWP. Se anunciaron dos puentes durante la conferencia Build 2015 para portar aplicaciones de Android e iOS a Windows 10 Mobile. [ 7 ] Hasta enero de 2022, Microsoft mantuvo la compatibilidad con puentes para aplicaciones de escritorio de Windows, aplicaciones web progresivas , Microsoft Silverlight y la API Cocoa Touch de iOS . [ 8 ]

iOS

Windows Bridge para iOS (nombre en clave "Islandwood") es un kit de herramientas de middleware de código abierto que permite portar aplicaciones de iOS desarrolladas en Objective-C a Windows 10 utilizando Visual Studio 2015 para convertir el proyecto de Xcode en un proyecto de Visual Studio. [ 7 ] [ 9 ] [ 10 ] Una versión preliminar de Windows Bridge para iOS se publicó como software de código abierto bajo la licencia MIT el 6 de agosto de 2015, mientras que la versión de Android estaba en beta cerrada . [ 7 ]

Este proyecto "WinObjC" es de código abierto y está disponible en GitHub . Contiene código de varias implementaciones existentes de Cocoa Touch , como Cocotron y GNUstep , así como código propio de Microsoft que implementa frameworks de iOS utilizando métodos UWP. Utiliza una versión del compilador clang de LLVM . [ 11 ]

Androide

Windows Bridge para Android (nombre en clave "Astoria") era un entorno de ejecución que permitía que las aplicaciones de Android escritas en Java o C++ se ejecutaran en Windows 10 Mobile y se publicaran en Microsoft Store . Kevin Gallo, líder técnico de la plataforma para desarrolladores de Windows, explicó que la capa presentaba algunas limitaciones: los servicios móviles de Google y ciertas API principales no estaban disponibles, y las aplicaciones con una "integración profunda en tareas en segundo plano", como el software de mensajería, no funcionaban correctamente en este entorno. [ 12 ] [ 13 ]

En febrero de 2016, Microsoft anunció que había cesado el desarrollo de Windows Bridge para Android, alegando redundancias debido a que iOS ya era una plataforma principal para el desarrollo multiplataforma, y ​​que Windows Bridge para iOS producía código nativo y no requería un emulador a nivel de sistema operativo. En su lugar, Microsoft fomentó el uso de C# para el desarrollo de aplicaciones multiplataforma utilizando herramientas de Xamarin , que habían adquirido antes del anuncio. [ 14 ] [ 15 ] [ 16 ] En 2021, Microsoft permitió que Windows 11 ejecutara aplicaciones de Android con un emulador a nivel de sistema operativo y permitió que las aplicaciones se instalaran en la tienda. [ 17 ]

Despliegue

UWP proporciona un modelo de aplicación basado en su clase CoreApplication y Windows Runtime (WinRT). [ 1 ] Las aplicaciones universales de Windows creadas con UWP ya no indican en su manifiesto que se han escrito para un sistema operativo específico; en su lugar, se dirigen a una o más familias de dispositivos, como un PC, un teléfono inteligente, una tableta o Xbox One , mediante puentes de plataforma universal de Windows. Estas extensiones permiten que la aplicación utilice automáticamente las capacidades disponibles para el dispositivo en el que se está ejecutando. [ 18 ] Una aplicación universal puede ejecutarse tanto en un teléfono móvil como en una tableta y proporcionar experiencias adecuadas en ambos. Una aplicación universal que se ejecuta en un teléfono inteligente puede empezar a comportarse como si se estuviera ejecutando en un PC cuando el teléfono se conecta a un ordenador de escritorio o a una estación de acoplamiento adecuada . [ 19 ]

Recepción

Los juegos desarrollados para UWP están sujetos a restricciones técnicas, incluyendo incompatibilidad con configuraciones de múltiples tarjetas de video , dificultades para modificar el juego , superposiciones para clientes de chat orientados al juego o administradores de asignación de teclas. [ 20 ] UWP solo será compatible con DirectX 11.1 o posterior, por lo que los juegos creados con versiones anteriores de DirectX no funcionarán. [ 21 ] Durante Build 2016, el jefe de la división Xbox de Microsoft, Phil Spencer, anunció que la compañía estaba intentando abordar problemas que mejorarían la viabilidad de UWP para juegos de PC, afirmando que Microsoft estaba "comprometido a garantizar que cumplimos o superamos las expectativas de rendimiento de los juegos de pantalla completa, así como las funciones adicionales, incluyendo la compatibilidad con superposiciones, modificaciones y más". Posteriormente se agregó a UWP la compatibilidad con las tecnologías AMD FreeSync y Nvidia G-Sync , y la desactivación de V-sync. [ 22 ] [ 23 ]

El fundador de Epic Games, Tim Sweeney, criticó UWP por ser un ecosistema cerrado , ya que, por defecto, el software UWP solo se puede publicar e instalar a través de la Tienda Windows , lo que requiere cambios en la configuración del sistema para habilitar la instalación de software externo (de forma similar a Android ). Además, ciertas funciones del sistema operativo son exclusivas de UWP y no se pueden usar en software que no sea UWP, como la mayoría de los videojuegos. Sweeney calificó estas medidas como "la acción más agresiva que Microsoft haya realizado jamás" en su intento de transformar los PC en una plataforma cerrada, y consideró que estas acciones tenían como objetivo perjudicar a las tiendas de juegos de terceros, como Steam, ya que Microsoft está "restringiendo la libertad de los usuarios para instalar software completo para PC y vulnerando el derecho de los desarrolladores y editores a mantener una relación directa con sus clientes". Por ello, Sweeney argumentó que los usuarios finales deberían poder descargar software UWP e instalarlo de la misma manera que el software que no es UWP. [ 24 ]

El vicepresidente de Windows, Kevin Gallo, abordó las inquietudes de Sweeney, declarando que "en la actualización de noviembre de Windows 10, permitimos que los usuarios instalaran fácilmente aplicaciones de forma predeterminada, sin necesidad de modificar la experiencia de usuario. Queremos que Windows sea la mejor plataforma de desarrollo, independientemente de las tecnologías utilizadas, y ofrecer herramientas para ayudar a los desarrolladores con bases de código existentes de HTML/JavaScript, .NET y Win32, C++ y Objective-C a llevar su código a Windows e integrar las capacidades de UWP. Con Xamarin , los desarrolladores de UWP no solo pueden llegar a todos los dispositivos Windows 10, sino que ahora pueden usar un gran porcentaje de su código C# para ofrecer experiencias de aplicaciones móviles totalmente nativas para iOS y Android". [ 25 ]

En una entrevista en directo con Giant Bomb durante su cobertura del E3 2016 , Spencer defendió la recepción mixta de sus lanzamientos exclusivos para UWP, afirmando que "no todos han tenido un éxito rotundo. Algunos han funcionado bien" y que "sigue existiendo la preocupación de que UWP y nuestra tienda estén vinculados de alguna manera maliciosa. No es así". También habló sobre las relaciones de Microsoft con desarrolladores y distribuidores externos como Steam, considerando el servicio como "una parte fundamental del éxito de los videojuegos en Windows" y afirmando que Microsoft planeaba seguir lanzando juegos a través de la plataforma, además de los suyos propios, pero que "habrá áreas en las que cooperaremos y áreas en las que competiremos. El resultado final es mejor para los jugadores". Spencer también afirmó ser amigo de Sweeney y haber estado en contacto frecuente con él. [ 26 ] [ 27 ]

El 30 de mayo de 2019, Microsoft anunció que daría soporte a la distribución de juegos Win32 en Microsoft Store; Spencer (quien desde entonces había sido ascendido a jefe de todas las operaciones de juegos en Microsoft, reportando directamente al CEO Satya Nadella ) explicó que los desarrolladores preferían la arquitectura y que esta "permite la personalización y el control que [los desarrolladores y jugadores] esperan del ecosistema abierto de juegos de Windows". También se anunció que los futuros lanzamientos de Xbox Game Studios para Windows estarían disponibles en tiendas de terceros como Steam, en lugar de ser exclusivos de Microsoft Store. [ 28 ] [ 29 ]

Referencias

  1. 1 2 "¿Qué es una aplicación universal de Windows?" . Microsoft Developer Network . Microsoft . 7 de mayo de 2018 . Recuperado el 29 de abril de 2019 .
  2. "Introducción a las aplicaciones de la Plataforma Universal de Windows (UWP) para diseñadores" . Microsoft Developer Network . Microsoft . 5 de mayo de 2018. Archivado del original el 22 de febrero de 2019. Consultado el 29 de abril de 2019 .
  3. "Actualizaciones de Xamarin de Microsoft Build 2020" . Blog de Xamarin . 19 de mayo de 2020. Consultado el 21 de enero de 2022 .
  4. "Migrar aplicaciones a la Plataforma Universal de Windows (UWP)" . Red de desarrolladores de Microsoft . Microsoft . Consultado el 31 de julio de 2015 .
  5. "Migrar de Windows Runtime 8.x a UWP" . Microsoft Developer Network . Microsoft . 8 de febrero de 2017. Consultado el 29 de abril de 2019 .
  6. Foley, Mary Jo. "Microsoft quiere cerrar la brecha entre UWP y Win32 con 'Windows Apps'"" . ZDNet . Consultado el 8 de mayo de 2019 .
  7. 1 2 3 Hachman, Mark (6 de agosto de 2015). "Microsoft lanza Windows Bridge, creador de aplicaciones de iOS a Windows, como código abierto" . PC World . IDG . Recuperado el 9 de octubre de 2015 .
  8. "Puentes de la plataforma universal de Windows: desarrollo de aplicaciones para Windows" . Microsoft Developer .
  9. Chester, Brandon (29 de abril de 2015). "Microsoft muestra aplicaciones de Android e iOS ejecutándose en Windows 10" . Anandtech . Purch Inc. Archivado del original el 1 de mayo de 2015. Recuperado el 9 de octubre de 2015 .
  10. Protalinski, Emil (1 de mayo de 2015). "Todo lo que necesitas saber sobre cómo portar aplicaciones de Android e iOS a Windows 10" . VentureBeat . Consultado el 9 de octubre de 2015 .
  11. "microsoft/WinObjC: Objective-C para Windows" . GitHub . Microsoft. 16 de febrero de 2020.
  12. Branscombe, Mary (11 de mayo de 2015). "¿Cómo funcionará la compatibilidad con Android en Windows 10 para teléfonos?" . TechRadar . Consultado el 9 de octubre de 2015 .
  13. Bright, Peter (29 de abril de 2015). "Microsoft trae aplicaciones de Android e iOS a Windows 10" . Ars Technica . Consultado el 9 de octubre de 2015 .
  14. Jo Foley, Mary (24 de febrero de 2016). "Microsoft compra al proveedor de herramientas móviles Xamarin" . ZDNet . CBS Interactive . Consultado el 29 de abril de 2019 .
  15. Jo Foley, Mary (25 de febrero de 2016). "Microsoft: Nuestro puente Android Windows 10 ha muerto, pero los de iOS y Win32 siguen adelante" . ZDNet . Consultado el 26 de febrero de 2016 .
  16. Bright, Peter (26 de febrero de 2016). "Microsoft confirma: la tecnología Android-on-Windows Astoria ha desaparecido" . Ars Technica . Conde Nast . Consultado el 29 de abril de 2019 .
  17. "Cómo ejecutar aplicaciones de Android en Windows 11" . 14 de marzo de 2022.
  18. Domingo, Michael (1 de mayo de 2015). "Dentro de los puentes de la plataforma universal de Windows" . Visual Studio Magazine . Consultado el 9 de octubre de 2015 .
  19. Radich, Quinn; Satran, Michael; Whitney, Tyler; Jacobs, Mike; Weston, Susan; Das, Debalin (7 de mayo de 2018). "Guía de aplicaciones de la Plataforma Universal de Windows (UWP)" . Centro de desarrolladores de Windows . Microsoft . Consultado el 10 de mayo de 2019 .
  20. "Microsoft debe dejar de imponer restricciones propias de las consolas en los juegos de PC de la Tienda Windows" . Ars Technica . Conde Nast. 29 de febrero de 2016. Consultado el 30 de marzo de 2016 .
  21. "Crear un juego para la Plataforma Universal de Windows (UWP) con DirectX - Aplicaciones UWP" . learn.microsoft.com . 20 de octubre de 2022.
  22. Hruska, Joel (10 de mayo de 2016). "Las nuevas actualizaciones de Windows 10 añaden compatibilidad con FreeSync, G-Sync y velocidades de fotogramas desbloqueadas" . ExtremeTech . Consultado el 10 de mayo de 2019 .
  23. Makuch, Eddie (30 de marzo de 2016). "Xbox Boss sobre los juegos de PC: "Hemos escuchado los comentarios alto y claro"" . GameSpot . Consultado el 10 de mayo de 2018 .
  24. Walton, Mark (4 de marzo de 2016). "CEO épico: "La plataforma universal de Windows puede, debe, tiene que morir y morirá"" . Ars Technica . Conde Nast . Consultado el 10 de mayo de 2019 .
  25. Takahashi, Dean (4 de marzo de 2016). "Tim Sweeney de Epic cuestiona el compromiso de Microsoft con una plataforma Windows abierta" . VentureBeat . Archivado del original el 20 de marzo de 2017. Consultado el 17 de septiembre de 2017 .
  26. Bright, Peter (16 de junio de 2016). "Microsoft utilizará Steam para vender juegos de Windows, no solo su propia tienda" . Ars Technica . Condé Nast .
  27. Makuch, Eddie (15 de junio de 2016). "El jefe de Xbox confirma que habrá más lanzamientos en Steam y habla sobre las dificultades en PC" . GameSpot . CBS Interactive .
  28. Spencer, Phil (30 de mayo de 2019). "Nuestro enfoque para los juegos de PC" . Xbox . Consultado el 30 de mayo de 2019 .
  29. Humphries, Matthew (30 de mayo de 2019). "Microsoft insinúa Xbox Game Pass para PC" . PCMag . Consultado el 30 de mayo de 2019 .
  • Guía de aplicaciones para la Plataforma Universal de Windows (UWP)
  • WindowsCommunityToolkit en GitHub
  • Mapeo conceptual de aplicaciones de Windows para desarrolladores de Android e iOS: una comparación de UWP, Android e iOS desde el punto de vista de un programador.