Universal Windows Platform apps: Difference between revisions

Content deleted Content added
Universal apps: Spelling Mistake
consistency
 
(13 intermediate revisions by 11 users not shown)
Line 1:
{{Outdated |reason=The article omits latest developments such as the newest name ("packaged apps") and related technologies such as AppContainer, AppSilo, WinUI 3, MAUI, MSIX, and MSIXVC. Changes in Windows 11 aren't covered. |date=July 2024}}
 
{{short description|Applications usable across all compatible Microsoft Windows devices}}
 
[[File:Khan Academy Metro app (player).png|thumb|[[Khan Academy]], an example of a UniversalMetro-styled Windows Appapp]]
[[File:Wikipedia App snapped to Windows 8 desktop.png|thumb|Left: A traditional desktop app without contents; it is showing 60 [[Widget (GUI)|graphical widgets]], and a thick border.<br/>Right: Metro-style app; entirely composed of contents]]
 
'''Universal Windows Platform''' ('''UWP''') '''apps'''<ref>{{citation|title=Microsoft is trying to change Windows software forever — here's why it'll be a tough fight|first=Matt|last=Weinberger|date=March 17, 2016|url=http://www.businessinsider.com/microsoft-universal-windows-platform-explained|access-date=June 27, 2016}}</ref> (formerly named '''Windows Store apps''', '''Metro-style apps''' and '''Modern apps''')<ref name=Harrel>{{citation|title=Metro, Modern, Now Universal? Microsoft Can't Make Up Its Mind!|first=William|last=Harrel|date=April 10, 2015|work=Digital Trends|url=http://www.digitaltrends.com/computing/microsoft-universal-apps/|access-date=June 27, 2016}}</ref> are [[Application software|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.<ref>{{citation|title=Microsoft's Windows app strategy comes under fire: 'The most aggressive move Microsoft has ever made'|first=Matt|last=Weinberger|date=March 4, 2016|work=Business Insider|url=http://www.businessinsider.com/epic-ceo-tim-sweeney-slams-windows-10-2016-3|access-date=June 27, 2016}}</ref> UWP stopped adding new features in October 2021,<ref>https://www.developer-tech.com/news/microsoft-universal-windows-platform-finally-being-sunset/</ref> but toolchain updates continue to be made.<ref>https://devblogs.microsoft.com/ifdef-windows/preview-uwp-support-for-dotnet-9-native-aot/</ref>
 
==Nomenclature==
Line 52:
 
==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.<ref>{{cite web|last1=Joshi|first1=Bipin|title=Understanding Windows Store App Lifecycle and State Management|url=http://www.codeguru.com/win_mobile/win_store_apps/understanding-windows-store-app-lifecycle-and-state-management.htm|website=Code Guru|publisher=[[QuinStreet]]|date=22 February 2013|access-date=8 March 2016|archive-date=8 March 2016|archive-url=https://web.archive.org/web/20160308165234/http://www.codeguru.com/win_mobile/win_store_apps/understanding-windows-store-app-lifecycle-and-state-management.htm|url-status=dead}}</ref><ref>{{cite web|last1=Hale|first1=David|title=Universal Windows Platform (UWP) app lifecycle|url=https://learn.microsoft.com/en-us/windows/uwp/launch-resume/app-lifecycle|work=UWP documentation|via=[[Microsoft Learn]]]|publisher=[[Microsoft]]|date=7 March 2016}}</ref>
 
Invoking an arbitrary Metro-style app or UWP app from the command line was first introduced in the [[Windows Insider|Insider]] build 16226 of Windows 10,<ref>{{cite web|last1=Whitechapel|first1=Andrew|title=Command-Line Activation of Universal Windows Apps|url=https://blogs.windows.com/buildingapps/2017/07/05/command-line-activation-universal-windows-apps/|website=Building Apps for Windows|publisher=[[Microsoft]]|date=5 July 2017}}</ref> which was released on 21 June 2017.<ref>{{cite web|last1=Sarkar|first1=Dona|title=Announcing Windows 10 Insider Preview Build 16226 for PC|url=https://blogs.windows.com/windowsexperience/2017/06/21/announcing-windows-10-insider-preview-build-16226-pc/|website=Windows Experience Blog|publisher=[[Microsoft]]|date=21 June 2017}}</ref>
Line 59:
 
===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 tool]]s. 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 also available for also conventional desktop apps.<ref>{{cite web|title=Windows Runtime 8.x APIs for desktop apps|url=https://learn.microsoft.com/en-us/windows/win32/apiindex/winrt-apis-for-desktop-apps|website=Windows App Development|via=[[Microsoft Learn]]|publisher=[[Microsoft]]|access-date=31 July 2015}}</ref> 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.<ref>{{cite web|last=Grange|first=Eric|title=Why no native WinRT support in Delphi XE3?|url=http://www.delphitools.info/2012/08/23/why-no-native-winrt-support-in-delphi-xe3/|work=DelphiTools|access-date=13 January 2014|date=23 August 2012}}</ref><ref>{{cite web|last=Anderson|first=Tim|title=Third-party compilers locked out of Windows Runtime development|url=http://www.itwriting.com/blog/6347-third-party-compilers-locked-out-of-windows-runtime-development.html|work=Tim Anderson's ITWriting|access-date=13 January 2014|date=23 August 2012}}</ref><ref>{{cite web|last=Bauer|first=Allen|title=HTML5 Builder|url=https://forums.embarcadero.com/message.jspa?messageID=484319#484319|work=Embarcadero Developer Network|publisher=Embarcadero Technologies|access-date=13 January 2014|date=22 August 2012|archive-date=14 June 2020|archive-url=https://web.archive.org/web/20200614102211/https://forums.embarcadero.com/message.jspa?messageID=484319#484319|url-status=dead}}</ref>
Line 90:
| genre = [[Archive (computing)|Archive]]
| container for = Installation information and an EXE or MSI file
| contained by = [[ZIP (file format)|ZIP]], [[Open Packaging Conventions|OPC]]
| extended from =
| extended to = MSIX
| standard =
| open = Yes
}}
'''APPX''' is thea [[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, HololensHoloLens, and Windows 10 IoT Core.<ref>{{cite web|url=https://learn.microsoft.com/en-us/previous-versions/windows/apps/hh464929(v=win.10) |title=App packages and deployment (Windows Runtime apps) |work=Windows 8 development |date=6 October 2015 |via=[[Microsoft Learn]] |publisher=Microsoft |access-date=8 March 2016}}</ref> UnlikeAPPX legacywas desktop apps, APPX isoriginally the only installation system allowed for UWP apps. It, replacesreplacing the [[XAP (file format)|XAP]] file format on [[Windows Phone 8.1]], in an attempt to unify the distribution of apps for Windows Phone and Windows 8.<ref>{{cite web |url=https://www.theverge.com/2014/2/11/5400660/windows-phone-8-1-features-leaked |title=Windows Phone 8.1 includes universal apps and lots of feature updates |first=Tom |last=Warren |date=11 February 2014 |publisher=[[Vox Media]]|work=[[The Verge]]}}</ref> APPX files are only compatible with Windows Phone 8.1 and later versions, and with Windows 8 and later versions.<ref>[http://www.wphoneapps.net/2013/12/how-to-install-xap-file-on-windows-phone.html How to Install APPX File on Windows Phone 8.1] {{webarchive |url=https://web.archive.org/web/20150425033027/http://www.wphoneapps.net/2013/12/how-to-install-xap-file-on-windows-phone.html |date=April 25, 2015 }}</ref>
 
The [[Windows Phone Store|Windows Phone 8.x Marketplace]] allowsallowed users to download APPX files to an [[SD Cardcard]] and install them manually. In contrast, sideloading isof UWP apps was prohibited on Windows 8.x, unless the user hashad a developers license or was in a business ___domain.<ref>{{cite web|url=http://www.howtogeek.com/129535/how-to-sideload-modern-apps-on-windows-8/ |title=How To Sideload Modern Apps on Windows 8 |work=How-To Geek|date=23 November 2012 }}</ref>{{Unreliable source?|date=March 2016}}
 
===MSIX===
{{Infobox file format
| name = MSIX
| logo =
| icon =
| iconcaption =
| screenshot =
| caption =
| extension = .msix, .msixbundle
| mime =
| type code =
| uniform type =
| conforms to =
| magic =
| owner = [[Microsoft]]
| genre = [[Archive (computing)|Archive]]
| container for = Installation information, an EXE file, DLL files, and/or other bundled content ("assets")
| contained by = [[ZIP (file format)|ZIP]], [[Open Packaging Conventions|OPC]]
| extended from = [[Microsoft App-V|App-V]], APPX, [[Windows Installer|MSI]]
| extended to =
| standard =
| open = 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.<ref>{{cite web|url=https://learn.microsoft.com/en-us/windows/msix/overview|title=What is MSIX?|date=11 June 2022|access-date=3 September 2024}}</ref> MSIX is now the preferred way of distributing UWP apps.<ref>{{cite web|url=https://learn.microsoft.com/en-us/windows/apps/publish/?tabs=individual%2Cmsix-pwa-getting-started|title=Get started: Publish your first app in the Microsoft Store|date=23 July 2024|access-date=3 September 2024}}</ref> An open source project called MSIX Core was started to provide MSIX support for Windows versions earlier than Windows 10 version 1709.<ref>{{cite web|url=https://learn.microsoft.com/en-us/windows/msix/msix-core/msixcore|title=MSIX Core|date=6 October 2022|access-date=3 September 2024}}</ref>
'''APPX''' is the [[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.<ref>{{cite web|url=https://learn.microsoft.com/en-us/previous-versions/windows/apps/hh464929(v=win.10) |title=App packages and deployment (Windows Runtime apps) |work=Windows 8 development |date=6 October 2015 |via=[[Microsoft Learn]] |publisher=Microsoft |access-date=8 March 2016}}</ref> Unlike legacy desktop apps, APPX is the only installation system allowed for UWP apps. It replaces the [[XAP (file format)|XAP]] file format on [[Windows Phone 8.1]], in an attempt to unify the distribution of apps for Windows Phone and Windows 8.<ref>{{cite web |url=https://www.theverge.com/2014/2/11/5400660/windows-phone-8-1-features-leaked |title=Windows Phone 8.1 includes universal apps and lots of feature updates |first=Tom |last=Warren |date=11 February 2014 |publisher=[[Vox Media]]|work=[[The Verge]]}}</ref> APPX files are only compatible with Windows Phone 8.1 and later versions, and with Windows 8 and later versions.<ref>[http://www.wphoneapps.net/2013/12/how-to-install-xap-file-on-windows-phone.html How to Install APPX File on Windows Phone 8.1] {{webarchive |url=https://web.archive.org/web/20150425033027/http://www.wphoneapps.net/2013/12/how-to-install-xap-file-on-windows-phone.html |date=April 25, 2015 }}</ref>
 
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.<ref>{{cite web|url=http://www.howtogeek.com/129535/how-to-sideload-modern-apps-on-windows-8/ |title=How To Sideload Modern Apps on Windows 8 |work=How-To Geek|date=23 November 2012 }}</ref>{{Unreliable source?|date=March 2016}}
 
==Security==