Universal Windows Platform apps

Last updated
Khan Academy, an example of a Metro-styled app Khan Academy Metro app (player).png
Khan Academy, an example of a Metro-styled app
Left: A traditional desktop app without contents; it is showing 60 graphical widgets, and a thick border.
Right: Metro-style app; entirely composed of contents Wikipedia App snapped to Windows 8 desktop.png
Left: A traditional desktop app without contents; it is showing 60 graphical widgets, and a thick border.
Right: Metro-style app; entirely composed of contents

Universal Windows Platform (UWP) apps [1] (formerly named Windows Store apps, Metro-style apps and Modern apps) [2] are applications that can be used across all compatible Microsoft Windows devices. They are primarily purchased and downloaded via the Microsoft Store, Microsoft's digital application storefront. [3]

Contents

Nomenclature

Starting with Windows 10, Microsoft initially used the term "Windows app" to describe Universal Windows Platform (UWP) apps. These were applications that could be installed from the Microsoft Store, previously known as the Windows Store. Initially, these apps were called "Trusted Windows Store apps," and later they were referred to as "Trusted Microsoft Store apps." Traditional programs designed to run on desktop computers were referred to as "desktop apps."

With the release of the Windows 10, version 1903, there was a shift in the terminology. Microsoft began using the term "Apps" to refer to both UWP apps and desktop apps indiscriminately. This change aimed to unify the naming convention for all types of applications.

Note that UWP is primarily used in Microsoft's developer documentation to specifically refer to the platform itself. Microsoft also introduced the term "Windows Runtime app" retrospectively to describe the precursors of UWP apps, as there was previously no clear and unambiguous name for them.

In Windows 8.x

UWP apps first became available under the name "Metro-style apps" in 2012 and were marketed with Windows 8. [2] [4]

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 on start. 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. [5]

In response to criticism from customers a title bar was added in Windows 8.1, but was hidden unless users move the mouse cursor to the top of the screen. However, the Hamburger button on the title bar gives access to the charms. [5]

Distribution and licensing

For most users, the only point of entry for Metro-style apps is the 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 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. [6] [7]

Windows RT requires all installed apps to be from the Windows Store, or be verified by Microsoft (most internal applications).

Multiple copies

Before Windows 8, programs were identified by their static computer icons. The Windows taskbar was responsible for representing every app that had a window while running. 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. [8] Windows 8.1 Update added taskbar icons for Metro-style apps. [9]

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 Windows Notepad, Paint or Firefox as long as the system resources can support. (Some desktop apps, such as Windows Media Player, have extra code that prevents spawning more than one instance.) However, in Windows 8, only one copy of Metro-style apps may run at any given time. True multi-instancing of these apps were not available until Windows 10 version 1803 (released in May 2018). [10]

In Windows 10 and Windows 11

Look and feel

UWP apps are designed by individuals or software companies which leads to apps having their own look and feel. However, UWP apps built specifically for Windows 10 and 11 typically appear and function differently than ones on older versions, 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 and 11.[ citation needed ]

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.[ citation needed ]

Multitasking

In Windows 10, most UWP apps, even those designed for Windows 8.x, are run in floating windows, and users can use the Windows taskbar and Task View to switch between both UWP apps and desktop apps. Windows 10 also introduced "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. [11] [12] [13]

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. [10]

Licensing and distribution

UWP apps can be downloaded from Windows Store or can be sideloaded. 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. [14]

Lifecycle

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. [15] [16]

Invoking an arbitrary Metro-style app or UWP app from the command line was first introduced in the Insider build 16226 of Windows 10, [17] which was released on 21 June 2017. [18]

Development

Windows Runtime

Traditionally, Windows software is developed using the Windows API. Software has access to the Windows API with no arbitrary restrictions. Developers were free to choose their own programming language and development tools. Metro-style apps can only be developed using Windows Runtime (WinRT). (Note that not every app using WinRT is a Metro-style app.) A limited subset of WinRT is available for also conventional desktop apps. [19] Calling a forbidden API disqualifies the app from appearing on Windows Store.

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. [20] [21] [22]

Universal apps

UWP apps developed to work on smartphones, personal computers, video game consoles and HoloLens. They were initially called universal apps because they derived their platform flexibility from the universal apps 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. [23] [24] Windows 10 introduced the Universal Windows Platform (UWP) 10 API 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. [25] [26]

Universal apps no longer indicate having been written for a specific OS in their manifest; instead, they target one or more device families, e.g. desktop, mobile, console or Internet of Things (IoT). They react to the capabilities that become available to the device. A universal app may run on both a mobile phone and a tablet and provide a 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. [27]

UWP is an extension of Windows Runtime and has access to WinRT APIs, although whether UWP apps can take advantage of WinRT APIs depends on their programming language and its tooling. [28]

APPX

APPX
Filename extension
.appx, .appxbundle
Developed by Microsoft
Type of format Archive
Container for Installation information and an EXE or MSI file
Contained by ZIP, OPC
Extended toMSIX
Open format?Yes

APPX is a file format used to distribute and install apps on Windows 8.x, 10, 11, Windows Phone 8.1, Windows 10 Mobile, Xbox One, Xbox Series X|S, Hololens, and Windows 10 IoT Core. [29] APPX was originally the only installation system allowed for UWP apps, replacing the XAP file format on Windows Phone 8.1, in an attempt to unify the distribution of apps for Windows Phone and Windows 8. [30] APPX files are only compatible with Windows Phone 8.1 and later versions, and with Windows 8 and later versions. [31]

The Windows Phone 8.x Marketplace allowed users to download APPX files to an SD Card and install them manually. In contrast, sideloading of UWP apps was prohibited on Windows 8.x, unless the user had a developers license or was in a business domain. [32] [ unreliable source? ]

MSIX

MSIX
Filename extension
.msix, .msixbundle
Developed by Microsoft
Type of format Archive
Container for Installation information, an EXE file, DLL files, and/or other bundled content ("assets")
Contained by ZIP, OPC
Extended from App-V, APPX, MSI
Open format?Yes

Windows 10 version 1709 and Windows Server 2019 LTSC introduced a new installation package format called MSIX, which is intended to be a replacement for both the APPX format and the Windows Installer (.msi) desktop application installation format. [33] MSIX is now the preferred way of distributing UWP apps. [34] An open source project called MSIX Core was started to provide MSIX support for Windows versions earlier than Windows 10 version 1709. [35]

Security

Traditional Windows applications generally have the power to use and change their ecosystem however they want 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, possibly for malicious purposes. UWP apps, however, are sandboxed and cannot permanently change a Windows ecosystem. They need permission to access hardware devices such as webcams, microphones or their file system which 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. [36] [37]

See also

Related Research Articles

<span class="mw-page-title-main">Microsoft OneNote</span> Freeform note-taking software

Microsoft OneNote is a note-taking software developed by Microsoft. It is available as part of the Microsoft 365 suite and since 2014 has been free on all platforms outside the suite. OneNote is designed for free-form information gathering and multi-user collaboration. It gathers users' notes, drawings, screen clippings, and audio commentaries. Notes can be shared with other OneNote users over the Internet or a network.

Microsoft Windows SDK, and its predecessors Platform SDK, and .NET Framework SDK, are software development kits (SDKs) from Microsoft that contain documentation, header files, libraries, samples and tools required to develop applications for Microsoft Windows and .NET Framework. Platform SDK specializes in developing applications for Windows 2000, XP and Windows Server 2003. .NET Framework SDK is dedicated to developing applications for .NET Framework 1.1 and .NET Framework 2.0. Windows SDK is the successor of the two and supports developing applications for Windows XP and later, as well as .NET Framework 3.0 and later.

The Windows shell is the graphical user interface for the Microsoft Windows operating system. Its readily identifiable elements consist of the desktop, the taskbar, the Start menu, the task switcher and the AutoPlay feature. On some versions of Windows, it also includes Flip 3D and the charms. In Windows 10, the Windows Shell Experience Host interface drives visuals like the Start Menu, Action Center, Taskbar, and Task View/Timeline. However, the Windows shell also implements a shell namespace that enables computer programs running on Windows to access the computer's resources via the hierarchy of shell objects. "Desktop" is the top object of the hierarchy; below it there are a number of files and folders stored on the disk, as well as a number of special folders whose contents are either virtual or dynamically created. Recycle Bin, Libraries, Control Panel, This PC and Network are examples of such shell objects.

The transition from Windows 7 to Windows 8 introduced a number of new features across various aspects of the operating system. These include a greater focus on optimizing the operating system for touchscreen-based devices and cloud computing.

Windows Runtime (WinRT) is a platform-agnostic component and application architecture first introduced in Windows 8 and Windows Server 2012 in 2012. It is implemented in C++ and officially supports development in C++, Rust/WinRT, Python/WinRT, JavaScript-TypeScript, and the managed code languages C# and Visual Basic (.NET) (VB.NET).

<span class="mw-page-title-main">Microsoft Store</span> Digital distribution platform for Microsoft Windows, Xbox One and Series X/S

The Microsoft Store is a digital distribution platform operated by Microsoft. It was created as an app store for Windows 8 as the primary means of distributing Universal Windows Platform apps. With Windows 10 1803, Microsoft merged its other distribution platforms into Microsoft Store, making it a unified distribution point for apps, console games, and digital videos. Digital music was included until the end of 2017, and E-books were included until 2019.

<span class="mw-page-title-main">Windows RT</span> 2012 device-oriented operating system from Microsoft

Windows RT is a mobile operating system developed by Microsoft and released alongside Windows 8 on October 26, 2012. It is a version of Windows 8 or Windows 8.1 built for the 32-bit ARM architecture (ARMv7), designed to take advantage of the architecture's power efficiency to allow for longer battery life, to use system-on-chip (SoC) designs to allow for thinner devices and to provide a "reliable" experience over time. Unlike Windows 8, Windows RT was only available as preloaded software on devices specifically designed for the operating system by original equipment manufacturers (OEMs); Microsoft launched its own hardware running it, the Surface tablet, which was followed by Surface 2, although only five models running Windows RT were released by third-party OEMs throughout its lifetime.

Windows UI Library is a user interface API that is part of the Windows Runtime programming model that forms the backbone of Universal Windows Platform apps for the Windows 8, Windows 8.1, Windows 10 and Windows Phone 8.1 operating systems. It enables declaring user interfaces using Extensible Application Markup Language (XAML) technology.

XAP is the file format used to distribute and install application software and middleware onto Microsoft's Windows Phone 7/8/8.1/10 operating system, and is the file format for Silverlight applications. Beginning with Windows Phone 8.1, XAP was replaced by APPX as the file format used to install WinRT apps on the Windows Phone platform, a move which was done by Microsoft in order to unify the app development platforms for Windows Store apps and Windows Phone apps.

<span class="mw-page-title-main">Windows 8.1</span> 2013 release of Windows NT

Windows 8.1 is a release of the Windows NT operating system developed by Microsoft. It was released to manufacturing on August 27, 2013, and broadly released for retail sale on October 17, 2013, about a year after the retail release of its predecessor, and succeeded by Windows 10 on July 29, 2015. Windows 8.1 was made available for download via MSDN and Technet and available as a free upgrade for retail copies of Windows 8 and Windows RT users via the Windows Store. A server version, Windows Server 2012 R2, was released on October 18, 2013.

<span class="mw-page-title-main">WinJS</span> Open-source JavaScript library

The Windows Library for JavaScript is an open-source JavaScript library developed by Microsoft. It has been designed with the primary goal of easing development of Windows Store apps for Windows 8 and Windows 10, as well as Windows Phone apps for Windows Phone 8.1, Windows 10 Mobile and Xbox One applications using HTML5 and JavaScript, as an alternative to using WinRT XAML and C#, VB.NET or C++ (CX).

<span class="mw-page-title-main">Windows 10 Mobile</span> Mobile operating system developed by Microsoft

Windows 10 Mobile is a discontinued mobile operating system developed by Microsoft Mobile. First released in 2015, it is the successor to Windows Phone 8.1, but was marketed by Microsoft as being an edition of its PC operating system Windows 10.

Windows 10 introduced a number of new elements, including the option to use a touch-optimized interface or a traditional desktop interface similar to that of Windows 7 along with live tiles from Windows 8. However, unlike previous versions of Windows, where most, if not all, major features for that release were completed by its RTM, Windows 10 continues to receive major features and changes beyond its initial release to market. Microsoft describes Windows 10 as an "operating system as a service" that will receive ongoing updates to its features and functionality. This is supplemented with the ability for enterprise environments to receive non-critical updates at a slower pace, and to use long-term support milestones that will only receive critical updates, such as security patches, over their ten-year lifespan of support.

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. 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.

<span class="mw-page-title-main">App Installer</span> Software component of Windows 10

App Installer is a software component of Windows 10, introduced in the 2016 Anniversary Update, used for the installation and maintenance of applications packaged in .appx or .appxbundle installation packages; they are loosely relational databases with an XML app manifest. The .appx and .appxbundle files contain either a Win32 or a Universal Windows Platform app, icons for the Start menu and taskbar, a virtualized version of any Windows Registry keys needed, and any other assets needed for the installed app to function.

C++/WinRT is a C++ library for Microsoft's Windows Runtime platform, designed to provide access to modern Windows APIs. C++/WinRT is provided as a standard C++17 header file library, unlike C++/CX, which is an extension to C++ and requires a recent version of Microsoft Visual C++.

<span class="mw-page-title-main">Surface Pro X</span> 2-in-1 detachable tablet computer developed by Microsoft

The Surface Pro X is a 2-in-1 detachable tablet computer developed by Microsoft. It was developed alongside and was announced on 2 October 2019 alongside the Surface Pro 7 and Surface Laptop 3. Updated hardware was announced alongside Surface Laptop Go and Surface accessories on October 1, 2020 and September 22, 2021. The device starts at $899.99 USD / £849.99.

Windows 11 is the current major release of Microsoft's Windows NT operating system. Released on October 5, 2021, Windows 11 succeeds the previous major release, Windows 10.

<span class="mw-page-title-main">Windows App SDK</span> Software development kit from Microsoft

Windows App SDK is a software development kit (SDK) from Microsoft that provides a unified set of APIs and components that can be used to develop desktop applications for both Windows 11 and Windows 10 version 1809 and later. The purpose of this project is to offer a decoupled implementation of capabilities which were previously tightly-coupled to the UWP app model. Windows App SDK allows native Win32 (USER32/GDI32) or .NET (WPF/WinForms) developers alike a path forward to enhance their apps with modern features.

References

  1. 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
  2. 1 2 Harrel, William (April 10, 2015), "Metro, Modern, Now Universal? Microsoft Can't Make Up Its Mind!", Digital Trends, retrieved June 27, 2016
  3. 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
  4. Newman, Jared (March 26, 2015), "Microsoft's Metro apps rechristened with a new, sixth name: Windows apps", PCWorld, retrieved June 27, 2016
  5. 1 2 Leonhart, Woody (8 April 2014). "What's new in Windows 8.1 Update". InfoWorld . IDG.
  6. 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
  7. Branscombe, Mary (27 March 2012). "Windows 8 browsers: the only Metro apps to get desktop power". TechRadar. Future Publishing. Retrieved 17 January 2014.
  8. "Switch between open apps". Microsoft Surface manual. Microsoft . Retrieved 31 December 2013.
  9. 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.
  10. 1 2 Whitechapel, Andrew (May 2018). "Universal Windows Platform - Closing UWP-Win32 Gaps". MSDN Magazine. Vol. 33, no. 5. Microsoft.
  11. Seifert, Dan (29 July 2015). "The nine most important updates in Windows 10". The Verge . Vox Media.
  12. Warren, Tom (28 July 2015). "Windows 10 review". The Verge . Vox Media.
  13. Bott, Ed (28 July 2015). "Windows 10: A new beginning". ZDNet . CBS Interactive.
  14. Sheehan, John; Zanjani, Peyman (30 March 2016). Project Centennial: Bringing Existing Desktop Applications to the Universal Windows Platform. Microsoft Build 2016 Conference (Video). San Francisco: Microsoft Corporation. 8:50 minutes in. Archived from the original on 29 January 2018. Retrieved 3 April 2016.
  15. Joshi, Bipin (22 February 2013). "Understanding Windows Store App Lifecycle and State Management". Code Guru. QuinStreet. Archived from the original on 8 March 2016. Retrieved 8 March 2016.
  16. Hale, David (7 March 2016). "Universal Windows Platform (UWP) app lifecycle". UWP documentation. Microsoft via Microsoft Learn].
  17. Whitechapel, Andrew (5 July 2017). "Command-Line Activation of Universal Windows Apps". Building Apps for Windows. Microsoft.
  18. Sarkar, Dona (21 June 2017). "Announcing Windows 10 Insider Preview Build 16226 for PC". Windows Experience Blog. Microsoft.
  19. "Windows Runtime 8.x APIs for desktop apps". Windows App Development. Microsoft . Retrieved 31 July 2015 via Microsoft Learn.
  20. Grange, Eric (23 August 2012). "Why no native WinRT support in Delphi XE3?". DelphiTools. Retrieved 13 January 2014.
  21. Anderson, Tim (23 August 2012). "Third-party compilers locked out of Windows Runtime development". Tim Anderson's ITWriting. Retrieved 13 January 2014.
  22. Bauer, Allen (22 August 2012). "HTML5 Builder". Embarcadero Developer Network. Embarcadero Technologies. Archived from the original on 14 June 2020. Retrieved 13 January 2014.
  23. Gallo, Kevin (2 March 2015). "A first look at the Windows 10 universal app platform". Windows Developer Blog. Microsoft.
  24. Appel, Rachel (September 2014). "Modern Apps : Build Universal Apps for the Windows Platform". MSDN Magazine . 29 (9). Microsoft via Microsoft Learn.
  25. "Migrate apps to the Universal Windows Platform (UWP)". Archived Visual Studio Documentations. Microsoft . Retrieved 31 July 2015 via Microsoft Learn.
  26. "Move from Windows Runtime 8.x to UWP". UWP documentation. Microsoft . Retrieved 31 July 2015 via Microsoft Learn.
  27. "What's a Universal Windows Platform (UWP) app?". UWP documentation. Microsoft. 20 April 2022. Adaptive controls and input via Microsoft Learn.
  28. "What's a Universal Windows Platform (UWP) app?". UWP documentation. Microsoft. 20 April 2022. How the Universal Windows Platform relates to Windows Runtime APIs via Microsoft Learn.
  29. "App packages and deployment (Windows Runtime apps)". Windows 8 development. Microsoft. 6 October 2015. Retrieved 8 March 2016 via Microsoft Learn.
  30. Warren, Tom (11 February 2014). "Windows Phone 8.1 includes universal apps and lots of feature updates". The Verge . Vox Media.
  31. How to Install APPX File on Windows Phone 8.1 Archived April 25, 2015, at the Wayback Machine
  32. "How To Sideload Modern Apps on Windows 8". How-To Geek. 23 November 2012.
  33. "What is MSIX?". 11 June 2022. Retrieved 3 September 2024.
  34. "Get started: Publish your first app in the Microsoft Store". 23 July 2024. Retrieved 3 September 2024.
  35. "MSIX Core". 6 October 2022. Retrieved 3 September 2024.
  36. 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.
  37. 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.