For a person who is far from client development on Windows, all these terms are definitely confused. And even among the MS community, controversy regularly arises whether the UWP is dead or alive. And the main question in this dispute is - what is UWP?
For 3 years already Microsoft has been "refactoring" in its "kingdom". Somewhat tired of seeing the same controversies on Twitter, and leaving the same comments on HabrΓ©, I decided to describe how the numerous MS UI frameworks relate to each other. Which of them is more dead. Perhaps this will help someone in choosing a technology for a future project.
Windows API and Windows Runtime
UI- , , . 2 API . Windows API ( Win32) Windows Runtime (WinRT). , Windows 8. , API , WinRT. Win32. , Win32 Microsoft .
WinRT - . API, . :
WinRT has a rich object-oriented class-based type system that is built on the metadata. It supports constructs with corresponding constructs in the .NET framework: classes, methods, properties, delegates, and events.
: - , : (, ), (async/await), . Windows 8 API β COM, . , WinRT (C++/WinRT, Rust/WinRT, Python/WinRT, #/WinRT) API, . WinRT . API C++.
-, API , . , . : , . Microsoft Store .
Application Models
API . β , , , . β Punto Switcher, ( , Windows). , .
, , WinRT, β . . β . , (- ). . , , ( , Share UI). Microsoft , 9 40 . - , WinRT.
, Win32 WinRT API . UWP Win32-, . Win32 WinRT API, AppIdentity, , .
, , UWP (Universal Windows Platform). Windows Runtime Windows 10+. , Windows Runtime Windows Runtime Windows 8 , ( ). Windows 10, , 1 ( ), . XBox, IoT, Hololens Teams ( " ")
, UWP UWP-.
UI-
UI-. Windows Forms WPF . UI, Win32 API. UI ( XAML) (GDI DirectX). WinRT, , - , Microsoft . , HDPI WinForms.
UI- UWP . UWP- UWP XAML. , UWP- WinRT- , XAML .NET. , C#, , IL. XAML , WPF, Silverlight ( WPF). , XAML UWP (, multibindings), (, x:Bind), WPF. , UWP Composition API , . , Windows. , , .
WinUI
WinUI , .
WinUI 2.x β UI- UWP-, , , . , Windows 10 ( AndroidX)
WinUI 3.x β Windows App SDK. UI- UWP, UWP-.
.
Project Reunion Windows App SDK
, ( - ReactNative), , 2020 Microsoft . Windows Forms WPF // , API ( , ). UWP- , .
, WinUI 3.x . UWP-, . .
, . . .
?
UWP, , . API . UWP-, , Windows App SDK. 0.8 Microsoft Store. (Xbox, Hololens . .), . , Windows App SDK.
, (, , UI . .), - .
, Windows App SDK . .
MAUI?
, Windows . Microsoft Xamarin β .NET ( mono ). xamarin .NET 5 6. MAUI β .NET Multi-platform App UI β Xamarin.Forms, .NET.
MAUI β UI-.
, WinUI. Xamarin.Forms WPF.
Similarly, ReactNative for Windows is also an abstraction on top of WinUI. By the way, the store on the Xbox is written on it.
Let's summarize
UWP is the name for a subset of Windows APIs, but is often used as an abbreviation for sandboxed apps that run on this API.
WinUI - modern graphics framework for Windows
Windows App SDK - in the future, a single set of SDKs for any application on Windows, regardless of language, and with the ability to switch between different application lifecycles
MAUI - .NET-tied cross-platform abstraction over native UI