WPF, UWP, WinUI, MAUI, Windows App SDK

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: classesmethodspropertiesdelegates, and events.





: - , : (, ), (async/await), . Windows 8 API β€” COM, . , WinRT (C++/WinRTRust/WinRTPython/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








All Articles