Windows UI Library

User interface API, part of Windows Runtime

Windows UI Library
Other namesWinUI, UWP XAML, WinRT XAML
Developer(s)Microsoft
Initial releaseSeptember 2011; 12 years ago (2011-09)
Stable release
1.5.2 / April 12, 2024; 50 days ago (2024-04-12)
Preview release
1.5.0-preview1 / February 14, 2024; 3 months ago (2024-02-14)
Repository
  • github.com/microsoft/microsoft-ui-xaml Edit this at Wikidata
Written inC++, C#
Operating systemMicrosoft Windows[1]
PlatformIntel x86 32-bit, x86-64 and ARM
TypeApplication framework
LicenseMIT License after 2018-12-04;[2] Freeware before
Websitemicrosoft.github.io/microsoft-ui-xaml/ Edit this at Wikidata

Windows UI Library (WinUI codenamed "Jupiter",[3][4] and also known as UWP XAML and WinRT XAML) is a user interface API that is part of the Windows Runtime programming model that forms the backbone of Universal Windows Platform apps (formerly known as Metro-style or Immersive) 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.

WinUI is one of the multiple UI frameworks provided built-in for the Windows Runtime; the others being HTML5 (e.g., via WinJS) and DirectX.

WinUI 2 is an extension library for UWP XAML containing controls and styling that match the Windows 11 design language. It is shipped through NuGet and is distinct from the UWP XAML framework, which provides the actual rendering engine; though, they may be treated synonyms.

WinUI 3 decouples WinRT XAML from the operating system as a separate package to be updated quickly and make new features work on older versions of Windows.[5] It is part of Windows App SDK (codenamed "Project Reunion"), a Microsoft effort to reconcile the Windows desktop (Win32) and the UWP low IL app model.

Windows Phone

Up to Windows Phone 8.0 WinRT XAML was not supported and XAML applications were based on Silverlight XAML and deployed in XAP format.

In Windows Phone 8.1 WinRT XAML is available along with improved Windows Runtime support. This convergence between platforms enable Universal apps that can target both Windows 8.1 and Windows Phone 8.1 while sharing most of the code, including user interface. The Windows Phone 8.1 is still capable of running Silverlight XAML apps and new features and API were also added to this too (called Silverlight 8.1[6])

Related technologies

WinUI is related to Windows Presentation Foundation (WPF) and Silverlight (WPF/E)—similar XAML-based UI frameworks used for desktop applications and portable applications respectively. WinUI uses a lot of the same names for its APIs as both of these older technologies—especially Silverlight, but its use is limited to the Windows (specifically Windows 8 and later) as with WPF. The major difference is that WPF and Silverlight are written in C# and require using .NET languages such as C# or Visual Basic, while WinRT XAML is part of the Windows Runtime, written in C++ and available to native code, and has tools for development, with C++/CX or C++/WinRT.

See also

References

  1. ^ "XAML overview". Windows app development. Microsoft Docs. Retrieved October 15, 2021.
  2. ^ Gallo, Kevin (December 4, 2018). "Announcing Open Source of WPF, Windows Forms, and WinUI at Microsoft Connect(); 2018". Windows Developer. Windows Blogs. Retrieved 2021-10-09.
  3. ^ Nixon, Jerry (June 20, 2012). "Windows 8: 15 More Reasons why I choose XAML over HTML5". Jerry Nixon blog. Retrieved October 15, 2021.
  4. ^ Nixon, Jerry; Heuer, Tim (January 24, 2013). "XAML and Windows 8 App Development". DevRadio. Channel 9. Retrieved October 15, 2021.
  5. ^ Ramos, Miguel (July 7, 2020). "A deep-dive into WinUI 3 in desktop apps". Windows Developer. Windows Blogs. Retrieved May 28, 2021.
  6. ^ "Windows Phone Silverlight 8.1 apps". Windows 8 development. Microsoft Docs. Retrieved October 15, 2021.

External links

  • Official website Edit this at Wikidata
  • microsoft-ui-xaml on GitHub
  • Xaml-Controls-Gallery on GitHub
  • Microsoft.UI.Xaml namespace documentation on Microsoft Docs
  • Windows.UI.Xaml namespace documentation on Microsoft Docs
  • Channel 9 - XAML presentations from the 2011 Build conference
  • WinRTXamlToolkit on GitHub
  • v
  • t
  • e
Graphics and UIAudioMultimediaWebData accessNetworkingCommunicationAdministration and
managementComponent modelLibrariesDevice driversSecurity.NETSoftware factoriesIPCAccessibilityText and multilingual
support
  • v
  • t
  • e
Low-level
On AmigaOS
  • Intuition
On Classic Mac OS, macOS
On Windows
On Unix,
under X11
On BeOS, Haiku
Cross-platform
CLI
C
Java
On Android
CLI
  • Xamarin.Android
High-level, platform-specific
On AmigaOS
On Classic Mac OS, macOS
Object Pascal
Objective-C, Swift
C++
CLI
On Windows
CLI
C++
Object Pascal
On Unix,
under X11
On Android
High-level, cross-platform
C
C++
Objective-C
CLI
Adobe Flash
Go
  • Fyne
Haskell
Java
JavaScript
Common Lisp
Lua
  • IUP
Pascal
Object Pascal
Perl
PHP
Python
Ruby
Tcl
  • Tcl/Tk
XML
shell
  • Newt
  • CDK
  • Dialog
Dart
  • Flutter
  • v
  • t
  • e
Microsoft development tools
Development
environments
Visual Studio
Others
Languages
APIs and
frameworks
Native
.NET
Device drivers
Database
SQL Server
SQL services
Other
Source control
Testing and
debugging
Delivery
Category
  • v
  • t
  • e
Overview
Software
Applications
Video games
  • Allegiance
Programming
languages
Frameworks,
development tools
Operating systems
Other
Licenses
Forges
Related
Category