Windows UI Library

Last updated

Windows UI Library
Other namesWinUI, UWP XAML, WinRT XAML
Developer(s) Microsoft
Initial releaseSeptember 2011;12 years ago (2011-09)
Stable release
2.8.2 / January 4, 2023;13 months ago (2023-01-04)
Preview release
2.8.2-prerelease.220830001 / September 1, 2022;17 months ago (2022-09-01)
Repository
Written in C++
Operating system Microsoft Windows [1]
Platform Intel x86 32-bit, x86-64 and ARM
Type Application framework
License MIT License after 2018-12-04; [2] Freeware before
Website microsoft.github.io/microsoft-ui-xaml/ OOjs UI icon edit-ltr-progressive.svg

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.

Contents

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] )

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

Related Research Articles

Extensible Application Markup Language is a declarative XML-based language developed by Microsoft for initializing structured values and objects. It is available under Microsoft's Open Specification Promise.

<span class="mw-page-title-main">Windows Forms</span> Graphical user interface software library

Windows Forms (WinForms) is a free and open-source graphical (GUI) class library included as a part of Microsoft .NET, .NET Framework or Mono, providing a platform to write client applications for desktop, laptop, and tablet PCs. While it is seen as a replacement for the earlier and more complex C++ based Microsoft Foundation Class Library, it does not offer a comparable paradigm and only acts as a platform for the user interface tier in a multi-tier solution.

Windows Presentation Foundation (WPF) is a free and open-source graphical subsystem originally developed by Microsoft for rendering user interfaces in Windows-based applications. WPF, previously known as "Avalon", was initially released as part of .NET Framework 3.0 in 2006. WPF uses DirectX and attempts to provide a consistent programming model for building applications. It separates the user interface from business logic, and resembles similar XML-oriented object models, such as those implemented in XUL and SVG.

<span class="mw-page-title-main">Microsoft Silverlight</span> Application framework for writing and running rich Internet applications

Microsoft Silverlight is a discontinued application framework designed for writing and running rich internet applications, similar to Adobe's runtime, Adobe Flash. While early versions of Silverlight focused on streaming media, later versions supported multimedia, graphics, and animation, and gave support to developers for CLI languages and development tools. Silverlight was one of the two application development platforms for Windows Phone, but web pages using Silverlight did not run on the Windows Phone or Windows Mobile versions of Internet Explorer, as there was no Silverlight plugin for Internet Explorer on those platforms.

<span class="mw-page-title-main">.NET Framework</span> Software platform developed by Microsoft

The .NET Framework is a proprietary software framework developed by Microsoft that runs primarily on Microsoft Windows. It was the predominant implementation of the Common Language Infrastructure (CLI) until being superseded by the cross-platform .NET project. It includes a large class library called Framework Class Library (FCL) and provides language interoperability across several programming languages. Programs written for .NET Framework execute in a software environment named the Common Language Runtime (CLR). The CLR is an application virtual machine that provides services such as security, memory management, and exception handling. As such, computer code written using .NET Framework is called "managed code". FCL and CLR together constitute the .NET Framework.

Microsoft Silverlight is an application framework for writing and running rich web applications that was actively developed and marketed by Microsoft from 2007 to 2012. This is a technical overview of the platform's history.

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">Mono (software)</span> Computer software project

Mono is a free and open-source .NET Framework-compatible software framework. Originally by Ximian, it was later acquired by Novell, and is now being led by Xamarin, a subsidiary of Microsoft and the .NET Foundation. Mono can be run on many software systems.

<span class="mw-page-title-main">Universal Windows Platform apps</span> Applications usable across all compatible Microsoft Windows devices

Universal Windows Platform (UWP) apps 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.

<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">.NET</span> Free and open-source software platform developed by Microsoft

The .NET platform is a free and open-source, managed computer software framework for Windows, Linux, and macOS operating systems. The project is mainly developed by Microsoft employees by way of the .NET Foundation and is released under an MIT License.

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">Fluent Design System</span> Design system created by Microsoft in 2017

Fluent Design System, officially unveiled as Microsoft Fluent Design System, is a design language developed in 2017 by Microsoft. Fluent Design is a revamp of Microsoft Design Language that includes guidelines for the designs and interactions used within software designed for all Windows 10 and Windows 11 devices and platforms. The system is based on five key components: light, depth, motion, material, and scale. The new design language includes more prominent use of motion, depth, and translucency effects.

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">Uno Platform</span>

Uno Platform is an open source cross-platform graphical user interface that allows WinUI and Universal Windows Platform (UWP) - based code to run on iOS, macOS, Linux, Android, and WebAssembly. Uno Platform is released under the Apache 2.0 license.

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