Universal Windows Platform (UWP) is a computing platform created by Microsoft and introduced in Windows 10. The purpose of this platform is to help develop universal apps that run on Windows 10, Windows 10 Mobile (discontinued), Windows 11, Xbox One, Xbox Series X/S, and HoloLens without the need to be rewritten for each. It supports Windows app development using C++, C#, VB.NET, and XAML. The API is implemented in C++, and supported in C++, VB.NET, C#, F# and JavaScript.[1] Designed as an extension to the Windows Runtime (WinRT) platform introduced in Windows Server 2012 and Windows 8, UWP allows developers to create apps that will potentially run on multiple types of devices.[2]
UWP does not target non-Microsoft systems. Microsoft's solution for other platforms is .NET MAUI (previously "Xamarin.Forms"[3]), an open-source API created by Xamarin, a Microsoft subsidiary since 2016. Community solutions also exist for non-targeted platforms, such as Uno Platform.
Compatibility
UWP is a part of Windows 10, Windows 10 Mobile and Windows 11. UWP apps do not run on earlier Windows versions.
Apps that are capable of implementing this platform are natively developed using Visual Studio 2015, Visual Studio 2017, Visual Studio 2019, or Visual Studio 2022. Older Metro-style apps for Windows 8.1, Windows Phone 8.1, or for both (universal 8.1) need modifications to migrate to 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 for Android (codenamed "Astoria") was a runtime environment that would allow for Android apps written in Java or C++ to run on Windows 10 Mobile and published to Microsoft Store. Kevin Gallo, technical lead of Windows Developer Platform, explained that the layer contained some limitations: Google Mobile Services and certain core APIs are not available, and apps that have "deep integration into background tasks", such as messaging software, would not run well in this environment.[12][13]
In February 2016, Microsoft announced that it had ceased development on Windows Bridge for Android, citing redundancies due to iOS already being a primary platform for multi-platform development, and that Windows Bridge for iOS produced native code and did not require an OS-level emulator. Instead, Microsoft encouraged the use of C# for multi-platform app development using tools from Xamarin, which they had acquired prior to the announcement.[14][15][16] In 2021, Microsoft allowed Windows 11 to run Android apps with an OS-level emulator and allowed apps to be installed in the store.[17]
Deployment
UWP provides an application model based upon its CoreApplication class and the Windows Runtime (WinRT).[1]Universal Windows apps that are created using the UWP no longer indicate having been written for a specific OS in their manifest build; instead, they target one or more device families, such as a PC, smartphone, tablet, or Xbox One, using Universal Windows Platform Bridges. These extensions allow the app to automatically utilize the capabilities that are available to the particular device it is currently running on.[18] A universal app may run on either a mobile phone or a tablet and provide suitable experiences on each. A universal app running on a smartphone may start behaving the way it would if it were running on a PC when the phone is connected to a desktop computer or a suitable docking station.[19]
Reception
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 ]
Windows VP Kevin Gallo addressed Sweeney's concerns, stating that "in the Windows 10 November Update, we enabled people to easily side-load apps by default, with no UX required. We want to make Windows the best development platform regardless of technologies used, and offer tools to help developers with existing code bases of HTML/JavaScript, .NET and Win32, C++ and Objective-C bring their code to Windows, and integrate UWP capabilities. With Xamarin, UWP developers can not only reach all Windows 10 devices, but they can now use a large percentage of their C# code to deliver a fully native mobile app experiences for iOS and Android."[25]
In a live interview with Giant Bomb during its E3 2016 coverage, Spencer defended the mixed reception of its UWP-exclusive releases, stating that "they all haven't gone swimmingly. Some of them have gone well", and that "there's still definitely concern that UWP and our store are somehow linked in a way that is nefarious. It's not." He also discussed Microsoft's relationships with third-party developers and distributors such as Steam, considering the service to be "a critical part of gaming's success on Windows" and stating that Microsoft planned to continue releasing games through the platform as well as its own, but that "There's going to be areas where we cooperate and there's going to be areas where we compete. The end result is better for gamers." Spencer also stated that he was a friend of Sweeney and had been in frequent contact with him.[26][27]
On May 30, 2019, Microsoft announced that it would support distribution of Win32 games on Microsoft Store; Spencer (who had since been promoted to head of all games operations at Microsoft, reporting directly to CEO Satya Nadella) explained that developers preferred the architecture, and that it "allow[s] for the customization and control [developers and players] come to expect from the open Windows gaming ecosystem." It was also announced that future Xbox Game Studios releases on Windows would be made available on third-party storefronts such as Steam, rather than be exclusive to Microsoft Store.[28][29]
References
- 12"What's a Universal Windows app?". Microsoft Developer Network. Microsoft. May 7, 2018. Retrieved April 29, 2019.
- ↑ "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 .
- ↑ "Actualizaciones de Xamarin de Microsoft Build 2020" . Blog de Xamarin . 19 de mayo de 2020. Consultado el 21 de enero de 2022 .
- ↑ "Migrar aplicaciones a la Plataforma Universal de Windows (UWP)" . Red de desarrolladores de Microsoft . Microsoft . Consultado el 31 de julio de 2015 .
- ↑ "Migrar de Windows Runtime 8.x a UWP" . Microsoft Developer Network . Microsoft . 8 de febrero de 2017. Consultado el 29 de abril de 2019 .
- ↑ Foley, Mary Jo. "Microsoft quiere cerrar la brecha entre UWP y Win32 con 'Windows Apps'"" . ZDNet . Consultado el 8 de mayo de 2019 .
- 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 .
- ↑ "Puentes de la plataforma universal de Windows: desarrollo de aplicaciones para Windows" . Microsoft Developer .
- ↑ 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 .
- ↑ 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 .
- ↑ "microsoft/WinObjC: Objective-C para Windows" . GitHub . Microsoft. 16 de febrero de 2020.
- ↑ 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 .
- ↑ 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 .
- ↑ 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 .
- ↑ 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 .
- ↑ 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 .
- ↑ "Cómo ejecutar aplicaciones de Android en Windows 11" . 14 de marzo de 2022.
- ↑ 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 .
- ↑ 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 .
- ↑ "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 .
- ↑ "Crear un juego para la Plataforma Universal de Windows (UWP) con DirectX - Aplicaciones UWP" . learn.microsoft.com . 20 de octubre de 2022.
- ↑ 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 .
- ↑ 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 .
- ↑ 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 .
- ↑ 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 .
- ↑ Bright, Peter (16 de junio de 2016). "Microsoft utilizará Steam para vender juegos de Windows, no solo su propia tienda" . Ars Technica . Condé Nast .
- ↑ 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 .
- ↑ Spencer, Phil (30 de mayo de 2019). "Nuestro enfoque para los juegos de PC" . Xbox . Consultado el 30 de mayo de 2019 .
- ↑ Humphries, Matthew (30 de mayo de 2019). "Microsoft insinúa Xbox Game Pass para PC" . PCMag . Consultado el 30 de mayo de 2019 .
Enlaces externos
- 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.
- .NETO
- Interfaces de programación de aplicaciones de Microsoft
- API de Windows
- Tecnología Windows
- Xbox One
- Implementaciones de .NET Framework