Universal Windows Platform apps
Universal Windows Platforms (UWP) apps (formerly Windows Store apps and Metro-style apps) are applications that can be used across all compatible Microsoft Windows devices, including personal computers (PCs), tablets, smartphones, Xbox One, Microsoft HoloLens, and Internet of Things. UWP software is primarily purchased and downloaded via the Microsoft Store.
- 1 Nomenclature
- 2 In Windows 8.x
- 3 In Windows 10
- 4 Lifecycle
- 5 Development
- 6 Security
- 7 See also
- 8 References
- 9 External links
Starting with Windows 10, Windows uses "Windows app" to refer to UWP apps. Any app installed from Microsoft Store (formerly Windows Store), is a "Trusted Windows Store app". Other computer programs running on a desktop computer are "desktop apps".
The terms "Universal Windows Platform" (or "UWP") and "UWP app" only appear on Microsoft documentation for its developers. Microsoft started to retrospectively use "Windows Runtime app" to refer to the precursors of UWP app, for which there was no unambiguous name before.
In Windows 8.x
Look and feel
In Windows 8.x, Metro-style apps do not run in a window. Instead, they either occupy the entire screen or are snapped to one side, in which case they occupy the entire height of the screen but only part of its width. They have no title bar, system menu, window borders or control buttons. Command interfaces like scroll bars are usually hidden at first. Menus are located in the "settings charm". Metro-style apps use the UI controls of Windows 8.x and typically follow Windows 8.x UI guidelines, such as horizontal scrolling and the inclusion of edge-UIs, like the app bar.
In response to criticism from customers, in Windows 8.1, a title bar is present but hidden unless users move the mouse cursor to the top of the screen. The "hamburger" menu button on their title bar gives access to the charms.
Distribution and licensing
For most users, the only point of entry of Metro-style apps is Windows Store. Enterprises operating a Windows domain infrastructure may enter into a contract with Microsoft that allows them to sideload their line-of-business Metro-style apps, circumventing Windows Store. Also, major web browser vendors such as Google and Mozilla Foundation are selectively exempted from this rule; they are allowed to circumvent Microsoft guidelines and Windows Store and run a Metro-style version of themselves if the user chooses to make their product the default web browser.
Metro-style apps are the only third-party apps that run on Windows RT. Traditional third-party apps do not run on this operating system.
Before Windows 8, computer programs were identified by their static computer icons. Windows taskbar was responsible for representing every app that had a window when they run. Metro-style apps, however, are identified by their "tiles" that can show their icon and also other dynamic contents. In addition, in Windows 8 and Windows 8.1 RTM, they are not shown on the Windows taskbar when they run, but on a dedicated app switcher on the left side of the screen. Windows 8.1 Update added taskbar icons for Metro-style apps.
There is no set limit on how many copies of desktop apps can run simultaneously. For example, one user may run as many copies of programs such as Notepad, Paint or Firefox as the system resources support. (Some desktop apps, such as Windows Media Player, are designed to allow only a single instance, but this is not enforced by the operating system.) However, in Windows 8, only one copy of Metro-style apps may run at any given time; invoking the app brings the running instance to the front. True multi-instancing of these apps were not available until Windows 10 version 1803 (released in May 2018).
In Windows 10
Windows 10 brings significant changes to how UWP apps look and work.
Look and feel
How UWP apps look depends on the app itself. UWP apps built specifically for Windows 10 typically have a distinct look and feel, as they use new UI controls that look different from those of previous versions of Windows. The exception to this are apps that use custom UI, which is especially the case with video games. Apps designed for Windows 8.x look significantly different from those designed for Windows 10.
UWP apps can also look almost identical to traditional desktop apps, using the same legacy UI controls from Windows versions dating back to Windows 95. These are legacy desktop apps that are converted to the UWP apps and distributed using the APPX file format.
In Windows 10, most UWP apps, even those designed for Windows 8.x, are run in floating windows, and users use the Windows taskbar and Task View to switch between both UWP apps and desktop apps. Windows 10 also introduced "Continuum" or "Tablet Mode". This mode is by default disabled on desktop computers and enabled on tablet computers, but desktop users can switch it on or off manually. When the Tablet Mode is off, apps may have resizable windows and visible title bars. When the Tablet Mode is enabled, resizable apps use the windowing system similar to that of Metro-style apps on Windows 8.x in that they are forced to either occupy the whole screen or be snapped to one side.
UWP apps in Windows 10 can open in multiple windows. Microsoft Edge, Calculator, and Photos are examples of apps that allow this. Windows 10 v1803 (released in May 2018) added true multi-instancing capabilities, so that multiple independent copies of a UWP app can run.
Licensing and distribution
UWP apps can be downloaded from Windows Store or sideloaded from another device. The sideloading requirements were reduced significantly from Windows 8.x to 10, but the app must still be signed by a trusted digital certificate that chains to a root certificate.
Metro-style apps are suspended when they are closed; suspended apps are terminated automatically as needed by a Windows app manager. Dynamic tiles, background components and contracts (interfaces for interacting with other apps) may require an app to be activated before a user starts it.
For six years, invoking an arbitrary Metro-style app or UWP app from the command line was not supported; this feature was first introduced in the Insider build 16226 of Windows 10, which was released on 21 June 2017.
Traditionally, Windows software were developed using Windows API. Software had access to the API with no arbitrary restrictions. Developers were free to choose their own programming language and development tools. Metro-style apps, however, are developed using Windows Runtime (WinRT). Calling a forbidden API disqualifies the app from appearing on Windows Store.
Not every app using WinRT is a Metro-style app; a limited subset of WinRT is available for desktop apps.
Metro-style apps can only be developed using Microsoft's own development tools. According to Allen Bauer, Chief Scientist of Embarcadero Technologies, there are APIs that every computer program must call but Microsoft has forbidden them, except when the call comes from Microsoft's own Visual C++ runtime.
Apps developed to work intrinsically on smartphones, personal computers, video game consoles and HoloLens are called universal apps. This is accomplished by using the universal app API, first introduced in Windows 8.1 and Windows Phone 8.1. Visual Studio 2013 with Update 2 could be used to develop these apps. Windows 10 introduced Universal Windows Platform (UWP) 10 for developing universal apps. Apps that take advantage of this platform are developed with Visual Studio 2015 or later. Older Metro-style apps for Windows 8.1, Windows Phone 8.1 or for both (universal 8.1) need modifications to migrate to this platform.
UWP is not distinct from Windows Runtime; rather, it is an extension of it. Universal apps no longer indicate having been written for specific OS in their manifest; instead, they target one or more device families, e.g. desktop, mobile, Xbox or Internet of Things (IoT). They react to the capabilities that become available to the device. A universal app may run on both a small mobile phone and a tablet and provide suitable experience. The universal app running on the mobile phone may start behaving the way it would on a tablet when the phone is connected to a monitor or a suitable docking station.
|Type of format||Archive|
|Container for||Installation information and an EXE or MSI file|
APPX is the file format used to distribute and install apps on Windows 8.x and 10, Windows Phone 8.1, Windows 10 Mobile, Xbox One, Hololens, and Windows 10 IoT Core. Unlike legacy desktop apps, APPX is the only installation system allowed for UWP apps. It replaces the XAP file format on Windows Phone 8.1, in an attempt to unify the distribution of apps for Windows Phone and Windows 8. APPX files are only compatible with Windows Phone 8.1 and later versions, and with Windows 8 and later versions.
The Windows Phone 8.x Marketplace allows users to download APPX files to an SD Card and install them manually. In contrast, sideloading is prohibited on Windows 8.x, unless the user has a developers license or in a business domain.[unreliable source?]
Traditionally, Windows software have had the power to use and change their ecosystem however they wanted to. Windows user account rights, User Account Control and antivirus software attempt to keep this ability in check and notify the user when the app tries to use it for malicious purposes. Metro-style apps, however, are sandboxed and cannot permanently change a Windows ecosystem. They need permission to access hardware devices such as webcam and microphone and their file system access is restricted to user folders, such as My Documents. Microsoft further moderates these programs and may remove them from the Windows Store if they are discovered to have security or privacy issues.
- Weinberger, Matt (March 17, 2016), Microsoft is trying to change Windows software forever — here's why it'll be a tough fight, retrieved June 27, 2016
- Harrel, William (April 10, 2015), "Metro, Modern, Now Universal? Microsoft Can't Make Up Its Mind!", Digital Trends, retrieved June 27, 2016
- Weinberger, Matt (March 4, 2016), "Microsoft's Windows app strategy comes under fire: 'The most aggressive move Microsoft has ever made'", Business Insider, retrieved June 27, 2016
- Cortana. Windows 10 version 1511. Microsoft (2015).
- "What's a Universal Windows Platform (UWP) app?". Docs. Microsoft. 7 May 2018.
- "How to develop a Windows Runtime app". Docs. Microsoft. 15 May 2017.
- Newman, Jared (March 26, 2015), "Microsoft's Metro apps rechristened with a new, sixth name: Windows apps", PCWorld, retrieved June 27, 2016
- Leonhart, Woody (8 April 2014). "What's new in Windows 8.1 Update". InfoWorld. IDG.
- Bott, Ed (15 January 2014). "Google's latest Chrome release tries to replace the Windows 8 desktop". ZDNet. CBS Interactive.
Under Microsoft’s rules, Metro-style browsers are able to sidestep requirements that apply to all other apps, including the mandate to be distributed through the Windows Store
- Branscombe, Mary (27 March 2012). "Windows 8 browsers: the only Metro apps to get desktop power". TechRadar. Future Publishing. Retrieved 17 January 2014.
- "Switch between open apps". Microsoft Surface manual. Microsoft. Retrieved 31 December 2013.
- Fitzsimmons, Michelle (May 13, 2014). "Windows 8.1 Update 1: hands on with Microsoft's latest Windows update". TechRadar. Future plc. Retrieved May 19, 2014.
- Whitechapel, Andrew (May 2018). "Universal Windows Platform - Closing UWP-Win32 Gaps". MSDN Magazine. Vol. 33 no. 5. Microsoft.
- Seifert, Dan (29 July 2015). "The nine most important updates in Windows 10". The Verge. Vox Media.
- Warren, Tom (28 July 2015). "Windows 10 review". The Verge. Vox Media.
- Bott, Ed (28 July 2015). "Windows 10: A new beginning". ZDNet. CBS Interactive.
- Sheehan, John; Zanjani, Peyman (30 March 2016). Project Centennial: Bringing Existing Desktop Applications to the Universal Windows Platform (Video). San Francisco: Microsoft Corporation. 8:50 minutes in. Retrieved 3 April 2016.
- Joshi, Bipin (22 February 2013). "Understanding Windows Store App Lifecycle and State Management". Code Guru. QuinStreet.
- Hale, David (7 March 2016). "App lifecycle". Windows Dev Center. Microsoft.
- Whitechapel, Andrew (5 July 2017). "Command-Line Activation of Universal Windows Apps". Building Apps for Windows. Microsoft.
- Sarkar, Dona (21 June 2017). "Announcing Windows 10 Insider Preview Build 16226 for PC". Windows Experience Blog. Microsoft.
- "Windows Runtime APIs for desktop apps". MSDN. Microsoft. Retrieved 31 July 2015.
- Grange, Eric (23 August 2012). "Why no native WinRT support in Delphi XE3?". DelphiTools. Retrieved 13 January 2014.
- Anderson, Tim (23 August 2012). "Third-party compilers locked out of Windows Runtime development". Tim Anderson's ITWriting. Retrieved 13 January 2014.
- Bauer, Allen (22 August 2012). "HTML5 Builder". Embarcadero Developer Network. Embarcadero Technologies. Retrieved 13 January 2014.
- Waheed, Ahmed (2 March 2015). "A first look at the Windows 10 universal app platform". Microsoft Gulf Technical Community blog. Microsoft.
- Appel, Rachel (September 2014). "Modern Apps : Build Universal Apps for the Windows Platform". MSDN Magazine. Microsoft. 29 (9).
- "Migrate apps to the Universal Windows Platform (UWP)". MSDN. Microsoft. Retrieved 31 July 2015.
- "Move from Windows Runtime 8.x to UWP". Windows Developer Center. Microsoft. Retrieved 31 July 2015.
- "Guide to Universal Windows Platform (UWP) apps". Windows Dev Center. Microsoft. Retrieved 31 July 2015.
- "App packages and deployment (Windows Runtime apps)". Windows Dev Center. Microsoft. Retrieved 8 March 2016.
- Warren, Tom (11 February 2014). "Windows Phone 8.1 includes universal apps and lots of feature updates". The Verge. Vox Media.
- How to Install APPX File on Windows Phone 8.1 Archived April 25, 2015, at the Wayback Machine
- "How To Sideload Modern Apps on Windows 8". How-To Geek.
- Ziegler, Chris (17 May 2012). "Microsoft talks Windows Store features, Metro app sandboxing for Windows 8 developers". The Verge. Vox Media. Retrieved 12 January 2013.
- Rosoff, Matt (9 February 2012). "Here's Everything You Wanted To Know About Microsoft's Upcoming iPad Killers". Business Insider. Archived from the original on 22 January 2013. Retrieved 12 January 2013. Cite uses deprecated parameter