Universal Windows Platform

From Infogalactic: the planetary knowledge core
Jump to: navigation, search

Lua error in package.lua at line 80: module 'strict' not found.

Universal Windows Platform
A component of Microsoft Windows
Details
Type Application programming interface
Included with Windows 10, Windows 10 Mobile, Windows Server 2016
Replaces Windows Runtime
Support status
Current
Related components
Windows Store, Windows API

Universal Windows Platform (UWP), is a platform-homogeneous application architecture created by Microsoft and first introduced in Windows 10. The purpose of this software platform is to help develop Metro-style apps that run on both Windows 10 and Windows 10 Mobile without the need to be re-written for each. It supports Windows application development using C++, C#, VB.NET, or 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 platform first introduced in Windows Server 2012 and Windows 8, the UWP allows developers to create applications that will potentially run on multiple types of devices.[2]


Compatibility

UWP is a part of Windows 10 and Windows 10 Mobile. UWP apps do not run on earlier Windows versions.

Apps that are capable of implementing this platform are natively developed using Visual Studio 2015. Older Metro-style apps for Windows 8.1, Windows Phone 8.1 or for both (universal 8.1) need modifications to migrate to the UWP.[3][4]

During the 2015 Build keynote, Microsoft announced a collection of UWP "bridges" to allow Android and iOS software to be ported to Windows 10 Mobile.[5] Windows Bridge for Android (codenamed "Astoria") would allow for Android apps written in Java or C++ to be ported to Windows 10 Mobile and published to the Windows Store. Kevin Gallo, technical lead of Windows Developer Platform, explained that the layer contained some limitations: Google Mobile Services and certain core APIs will not be available, and apps that have "deep integration into background tasks", such as messaging software, would not run well in this environment.[6][7] Windows Bridge for iOS (codenamed "Islandwood") is an open source middleware toolkit that allows iOS software developed in Objective-C to be ported to Windows 10 Mobile by using Visual Studio 2015 to convert the Xcode project into a Visual Studio project.[5][8][9] An early build of Windows Bridge for iOS was released as open source software under the MIT license on 6 August 2015, while the Android version is in closed beta.[5]

In February 2016, Microsoft announced that it had acquired the San Francisco, California based software company Xamarin.[10] Shortly after this acquisition, Microsoft announced that it was dropping its Android bridge project and its plans to support Android applications on Windows 10. Their focus would instead be based primarily on its iOS bridge.[11]

Deployment

The UWP is an extension of the Windows Runtime. 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.[12] A universal app may run on either a mobile phone or a tablet and provide suitable experiences between the two. A universal app running on a mobile phone may start behaving the way it would if it were running on a tablet when the mobile phone is connected to a desktop computer or a suitable docking station.[13]

Reception

Use as gaming platform

Games developed for UWP are subject to technical restrictions unlike games distributed as standard desktop applications, including incompatibility with multiple graphics card-setups, and the inability to disable vsync, mod the game, nor use the game with programs such as Fraps, Steam overlays, or key binding managers.[14] Epic Games founder Tim Sweeney criticized UWP for being a walled garden, as by default, UWP software may only be installed via Windows Store, requiring changes to system settings to enable the installation of external software (a system that he compared to Android's similar behavior). Additionally, certain operating system features are exclusive to UWP and cannot be used in Win32-based software, which includes the majority of PC video games. Sweeny characterized these moves as "the most aggressive move Microsoft has ever made" in attempting to transform PCs into a closed platform, and felt that these moves were meant to put third-party storefronts such as Steam at a disadvantage as Microsoft is "curtailing users' freedom to install full-featured PC software and subverting the rights of developers and publishers to maintain a direct relationship with their customers". As such, Sweeney argued that end-users should be able to download UWP software and install it in the same means as desktop software.[15]

During Build 2016, Microsoft Xbox division head Phil Spencer announced that the company was attempting to address issues which would improve the viability of UWP for PC games, stating that Microsoft was "committed to ensuring we meet or exceed the performance expectations of full-screen games as well as the additional features including support for overlays, modding, and more." It was announced that support for disabling vsync, as well as the AMD FreeSync and Nvidia G-Sync technologies, would be added to Windows 10 in a future update.[16]

References

  1. Lua error in package.lua at line 80: module 'strict' not found.
  2. Lua error in package.lua at line 80: module 'strict' not found.
  3. Lua error in package.lua at line 80: module 'strict' not found.
  4. Lua error in package.lua at line 80: module 'strict' not found.
  5. 5.0 5.1 5.2 Lua error in package.lua at line 80: module 'strict' not found.
  6. Lua error in package.lua at line 80: module 'strict' not found.
  7. Lua error in package.lua at line 80: module 'strict' not found.
  8. Lua error in package.lua at line 80: module 'strict' not found.
  9. Lua error in package.lua at line 80: module 'strict' not found.
  10. Lua error in package.lua at line 80: module 'strict' not found.
  11. Lua error in package.lua at line 80: module 'strict' not found.
  12. Lua error in package.lua at line 80: module 'strict' not found.
  13. Lua error in package.lua at line 80: module 'strict' not found.
  14. Lua error in package.lua at line 80: module 'strict' not found.
  15. Lua error in package.lua at line 80: module 'strict' not found.
  16. Lua error in package.lua at line 80: module 'strict' not found.

External links