Windows UI Library: Difference between revisions

Content deleted Content added
Added {{ref improve}} tag to article (TW)
 
(69 intermediate revisions by 36 users not shown)
Line 1:
{{short description|User interface API, part of Windows Runtime}}
{{ref improve|date=July 2012}}
{{Use mdy dates|date=September 2011}}
{{Infobox software
| name = WinUI = XAML3
| other_names = Windows UI Library, WinUI, UWP XAML, WinRT XAML, <code>Microsoft.UI.Xaml</code>, <code>Windows.UI.Xaml</code>
| logo =
| logo = WinUI.svg
| screenshot =
| logo_size = x64px
| caption =
| screenshot = =
| developer = [[Microsoft Corporation]]
| caption = =
| released = {{start date and age|2011|September}}
| developer = [[Microsoft Corporation]]
| frequently_updated = Yes <!-- Release version update? Don't edit this page, just click on the version number! ok -->
| released = {{startStart date and age|2011|September}}
| programming language = <!-- Fill this field only when you have a reliable source for it. Don't guess -->
| latest release version = 1.6.3
| operating system = [[Microsoft Windows]]<ref>{{cite web
| latest release date = {{Start date and age|2024|11|19}}
|url = http://www.buildwindows.com/
| latest preview version = 1.6.0-preview2
|title = Home - BUILD | September 13–16, 2011 | Anaheim Convention Center
| latest preview date = {{Start date and age|2024|11|19}}
|work = Microsoft Corporation
| programming language = [[C++]], [[C Sharp (programming language)|C#]]
|publisher = Microsoft Corporation
| operating system = [[Microsoft Windows]]<ref>{{cite web
|accessdate = September 13, 2011
|url=https://learn.microsoft.com/windows/apps/WinUI
|title=WinUI Overview
|department=Windows app development
|work = [[Microsoft CorporationDocs]]
|date=October 13, 2015
|access-date=2021-10-15
}}</ref>
| platform = [[IA-32|Intel x86 32-bit]], [[x86-64]] and [[ARM architecture|ARM]]
| genre = [[Application framework]]
| license = [[MIT License]] after 2018-12-04;<ref name="Connect2018-open-source">{{cite web |last=Gallo |first=Kevin |date=2018-12-04 |df=mdy |title=Announcing Open Source of WPF, Windows Forms, and WinUI at Microsoft Connect(); 2018 |url=https://blogs.windows.com/windowsdeveloper/2018/12/04/announcing-open-source-of-wpf-windows-forms-and-winui-at-microsoft-connect-2018/ |department=Windows Developer |website=Windows Blogs |access-date=2021-10-09}}</ref> [[Freeware]] before
| license = [[Freeware]]
| website = {{Official URL}}
| website = {{url|http://msdn.microsoft.com/en-us/library/windows/apps/windows.ui.xaml.aspx}}
}}
'''Windows UI Library''' ('''WinUI''' codenamed "Jupiter",<ref>{{cite web |url=https://blog.jerrynixon.com/2012/06/windows-8-15-more-reasons-why-i-choose.html |title=Windows 8: 15 More Reasons why I choose XAML over HTML5 |last=Nixon |first=Jerry |date=2012-06-20 |work=Jerry Nixon blog |access-date=2021-10-15}}</ref><ref>{{cite web |url=https://channel9.msdn.com/Blogs/DevRadio/Microsoft-DevRadio-XAML-and-Windows-8-App-Development |title=XAML and Windows 8 App Development |last1=Nixon |first1=Jerry |last2=Heuer |first2=Tim |date=2013-01-24 |department=DevRadio |work=[[Channel 9 (Microsoft)|Channel 9]] |access-date=2021-10-15}}</ref> 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 (design language)|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]].
'''XAML''' framework (code name "Jupiter"<ref>{{cite web | url=http://blog.jerrynixon.com/2012/06/windows-8-15-more-reasons-why-i-choose.html | title=Windows 8: 15 More Reasons why I choose XAML over HTML5 | author=Jerry Nixon | date=20 June 2012 | work=Microsoft}}</ref>) is a [[User Interface]] [[API]] that is part of the [[Windows Runtime]] - [[Microsoft]]'s 2011 [[programming model]] that forms the backbone of the new [[Metro (design language)|Metro]]-style apps (also known as ''Immersive'') in their new [[Windows 8]] operating system. It is the one of the multiple UI APIs in Windows Runtime (the others being [[HTML5]] and [[DirectX]]) that enables programming using the [[Extensible Application Markup Language|Extensible Application Markup Language (XAML)]].
 
It is the successor to [[Windows Presentation Foundation|Windows Presentation Foundation (WPF)]] and [[Silverlight]] - similar XAML-based UI frameworks used for desktop applications and portable applications respectably. The XAML framework 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 OS (specifically Windows 8) as with WPF. The major difference is that Silverlight and WPF are largely based on the [[Common Language Runtime|Common Language Runtime (CLR)]] and as such require using programming languages such as [[C#]] or [[Visual Basic]], while the XAML framework is part of the Windows Runtime, written in [[Machine code|native code]] and also available, and has tools for development, with [[C++]] or [[C++/CX]].
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 as 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.<ref>{{cite web |first=Miguel |last=Ramos |date=2020-07-07 |title=A deep-dive into WinUI 3 in desktop apps |url=https://blogs.windows.com/windowsdeveloper/2020/07/07/a-deep-dive-into-winui-3-in-desktop-apps/ |department=Windows Developer |website=Windows Blogs |access-date=2021-05-28}}</ref> 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|Windows Phone 8.0]] WinRT XAML was not supported and XAML applications were based on [[Silverlight]] XAML and deployed in [[XAP (file format)|XAP]] format.
 
In [[Windows Phone 8.1]] WinRT XAML is available along with improved Windows Runtime support. This convergence between platforms enable [[Universal app]]s 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<ref>{{cite web |url=https://docs.microsoft.com/en-us/previous-versions/windows/apps/dn642082(v=vs.105) |title=Windows Phone Silverlight 8.1 apps |department=Windows 8 development |website=[[Microsoft Docs]] |date=May 20, 2016 |access-date=2021-10-15}}</ref>)
 
==Related technologies==
ItWinUI is the successorrelated to [[Windows Presentation Foundation|Windows Presentation Foundation]] (WPF)]] and [[Silverlight]] - similar(WPF/E)—similar XAML-based UI frameworks used for desktop applications and portable applications respectablyrespectively. The XAML frameworkWinUI uses a lot of the same names for its APIs as both of these older technologies - especiallytechnologies—especially Silverlight, but its use is limited to the Windows OS (specifically Windows 8 and later) as with WPF. The major difference is that SilverlightWPF and WPFSilverlight are largelywritten based on thein [[CommonC LanguageSharp Runtime|Common(programming Language Runtime (CLRlanguage)|C#]] and as such require using programming[[.NET languageslanguage]]s such as [[C Sharp (programming language)|C#]] or [[Visual Basic .NET|Visual Basic]], while theWinRT XAML framework is part of the Windows Runtime, written in [[MachineC++]] and available to [[machine code|native code]] and also available, and has tools for development, with [[C++/CX]] or [[C++/CXWinRT]].
 
==See also==
*[[.NET Multi-platform App UI]] (.NET MAUI)
*[[Windows Template Studio]] (WinTS)
*[[Uno (software)|Uno Platform]]
*[[OpenSilver]]
 
==References==
Line 30 ⟶ 55:
 
==External links==
*{{Official website}}
*[http://www.buildwindows.com/ Build Conference website]
**[httphttps://msdnlearn.microsoft.com/en-USus/windows/apps/winui/ WindowsWinUI] Devon [[Microsoft CenterLearn]]
*[http://channel9.msdn.com/Events/Build/Build2011?sort=sequential&direction=desc&term=&t=xaml Channel 9 - XAML presentations from the 2011 Build conference]
**{{GitHub|microsoft/microsoft-ui-xaml}}
*[http://msdn.microsoft.com/en-us/library/windows/apps/windows.ui.xaml.aspx Windows.UI.Xaml namespace documentation] on [[MSDN]]
*{{GitHub|microsoft/WinUI-Gallery}}
*[http://social.msdn.microsoft.com/Forums/en-US/winappswithcsharp/threads MSDN Forums - Building Metro style apps with C# or VB]
*[httphttps://msdnlearn.microsoft.com/en-us/libraryuwp/windows/appsapi/windows.ui.xaml.aspx Windows.UI.Xaml namespace documentation] on [[MSDNMicrosoft Learn]]
*[http://social.msdn.microsoft.com/Forums/en-US/winappswithnativecode/threads MSDN Forums - Building Metro style apps with C++]
*[https://learn.microsoft.com/en-us/shows/build-build2011/?languages=xaml XAML presentations] from 2011 [[Microsoft Build]] conference on [[Microsoft Learn]] (originally on [[Channel 9 (Microsoft)|Channel 9]])
*[http://msdn.microsoft.com/en-US/windows Windows Dev Center]
*{{GitHub|xyzzer/WinRTXamlToolkit}}
*[http://code.msdn.microsoft.com/windowsapps/site/search?f%5B0%5D.Type=Technology&f%5B0%5D.Value=XAML Windows 8 Metro style XAML app samples]
 
{{Microsoft APIs}}
{{Widget toolkits}}
{{Microsoft development tools}}
 
{{Microsoft FOSS}}
 
 
[[Category:Microsoft application programming interfaces]]
[[Category:Free and open-source software]]
[[Category:Free software programmed in C++]]
[[Category:Free software programmed in C Sharp]]
[[Category:Microsoft development tools]]
[[Category:Microsoft free software]]
[[Category:2011 software]]
[[Category:Software using the MIT license]]
[[Category:Widget toolkits]]
[[Category:Windows-only free software]]