Sie sind hier:
Wissen
Telefon (Mo-Fr 9 bis 16 Uhr):
0201/649590-0
|
Kontaktformular
Buy me a coffee
MENU
Medien
Übersicht
Lexikon/Glossar
Spickzettel
Weblog
Konferenzvorträge
Fachbücher
Fachartikel
Leserportal
Autoren gesucht!
Literaturtipps
Praxisnahe Fallbeispiele
Downloads
Newsletter
.NET
Startseite
.NET 8.0
.NET 7.0
.NET 6.0
.NET 5.0
.NET Core
.NET 4.0/4.5.x/4.6.x
.NET 3.0/3.5
.NET 2.0
.NET-Lexikon
Entwicklerwerkzeuge
Klassenreferenz
Softwarekomponenten
Windows Runtime
World Wide Wings-Demo
Versionsgeschichte
Codebeispiele
ASP.NET
Artikel
Bücher
Schulung & Beratung
Konferenzen/Events
ASP.NET
Startseite
Lexikon
Sicherheit
Konfiguration
Global.asax
Tracing
Technische Beiträge
Klassenreferenz
Entwicklerwerkzeuge
Softwarekomponenten
Forum
Schulung & Beratung
PowerShell
Startseite
Commandlet-Referenz
Codebeispiele
Commandlet Extensions
Versionsgeschichte
Schulungen+Beratung
Windows
Startseite
Windows Runtime (WinRT)
Windows PowerShell
Windows Scripting
Windows-Schulungen
Windows-Lexikon
Windows-Forum
Scripting
Startseite
Lexikon
FAQ
Bücher
Architektur
Skriptsprachen
Scripting-Hosts
Scripting-Komponenten
COM/DCOM/COM+
ADSI
WMI
WMI-Klassenreferenz
Scripting-Tools
WSH-Editoren
Codebeispiele
.NET-Scripting
Forum
Schulung & Beratung
Nutzer
Anmeldung/Login
Buchleser-Registrierung
Gast-Registrierung
Hilfe
Website-FAQ
Technischer Support
Site Map
Tag Cloud
Suche
Kontakt
Erklärung des Begriffs: Windows UI Library 3 (WinUI3)
Begriff
Windows UI Library 3
Abkürzung
WinUI3
Eintrag zuletzt aktualisiert am
19.02.2025
Zur Stichwortliste unseres Lexikons
Was ist
Windows UI Library 3
?
Die
GUI
-Bibliothek "WinUI 3" ist der Nachfolger der
Universal Windows Platform
(UWP), der in
Windows 10
eingeführte neue Name für die "Modern Apps". Während UWP allein auf dem
WinRT
-API aufsetzt und daher nicht alle Funktionen des Betriebssystems und alle lokalen Ressourcen verwenden kann, kann der eine WinUI3-basierte Anwendung wahlweise das
UWP App
lication Model auf Basis des
WinRT
-API und/oder das klassische Windows Application Model auf Basis der
Win32-API
nutzen. Damit stehen ihr alle Möglichkeiten des Windows-Betriebssystems zur Verfügung. Während in UWP die Weiterentwicklung der
Steuerelement
e mit neuen Betriebssystemversionen erfolgte, sind die komplett in C++ als
Open Source
auf GitHub [
https://github.com/microsoft/microsoft-ui-xaml
] geschriebenen WinUI 3-
Steuerelement
e von dem Betriebssystem entkoppelt; eine WinUI 3-Anwendung läuft daher auf allen
Windows 10
-Versionen ab dem Creators Update aus dem Frühjahr 2017 und allen
Windows 11
-Versionen.
Details zu WinUI3
Die
Windows UI Library
3 ist, wie die Drei schon ausdrückt, nicht die erste Version von Windows UI. Die Entwicklung der
Windows UI Library
begann im Jahr 2012, ohne das sie dort schon so geheißen hätte. Mit Windows 8 führte Microsoft eine neue Windows-Oberfläche mit zugehörigen "Metro-Apps" ein – bis die deutsche Firma Metro AG sich gegen den Namen wehrte:
http://arstechnica.com/information-technology/2012/08/microsoft-metro-out-windows-8-style-ui-in-amid-rumors-of-a-trademark-dispute/.
Danach sprach Microsoft von Apps im "Windows 8 UI-Style" und von "Modern Apps".
Technisch basierten diese Apps auf dem in Windows 8 als Alternative zum funktionsbasierten
Win32-API
neu eingeführten, objektorientierten Window Runtime API (
WinRT
-API) des Windows-Betriebssystems. Ab
Windows 10
im Jahr 2015 sprach Microsoft dann von
Universal Windows Platform
(UWP) Apps und dem UWP XAML Framework und den UWP XAML Controls, womit auch klar ist, dass auch diese Anwendungen wie
WPF
auf der xEtensible Application Markup Language (XAML) basieren, aber auf einem anderen Dialekt. Die Abweichungen zwischen XAML1 und XAML2 sind aber gering.
Den Namen
Windows UI Library
(WinUI) hat Microsoft dann erst im Jahr 2018 eingeführt als Microsoft die UWP XAML Controls von dem an das Windows-Betriebssystem gebundenen UWP entkoppelte und damit auch eine Down-Level-Nutzung neuerer
Steuerelement
e in älteren Win10-Versionen erlaubte.
Die
Windows UI Library
3 (WinUI3) gibt es seit dem Jahr 2021. WinUI3 ist - anders als
Windows Forms
und
WPF
- nicht Teil des
.NET Framework
s bzw. des
.NET SDK
s, sondern ein wesentlicher Teil des
Windows App SDK
s. Der .NET-Namensraum für WinUI3 ist Microsoft.UI (bei UWP war es Windows.UI).
UWP-Apps mit WinUI2 gibt es auch immer noch für
.NET 9.0
https://devblogs.microsoft.com/ifdef-windows/preview-uwp-support-for-dotnet-9-native-aot/.
Microsoft sieht dies aber nicht als eine Lösung für neue Anwendungen an, sondern will damit nur den Umstieg auf WinUI3 erleichtern. Daher werden UWP-Apps mit WinUI2 hier nicht weiter thematisiert.
Microsoft versteht WinUI3 nun als "vollständiges UX Framework"
https://learn.microsoft.com/en-us/windows/apps/desktop/visual-studio-templates.
WinUI3-Anwendungen laufen nun nicht mehr allein auf den
WinRT
-APIs, sondern können alle
Win32-API
-Funktionen ebenfalls nutzen. Damit gibt es auch nicht mehr die obligatorische Sandbox (App
Container
), welche die Verbreitung von UWP-Anwendungen im geschäftlichen Umfeld stark einschränkte. Eine WinUI 3-Anwendung läuft auf allen
Windows 10
-Versionen, ab dem Creators Update aus dem Frühjahr 2017 und allen
Windows 11
-Versionen. Der App
Container
ist bei WinUI3 möglich, aber keine Pflicht.
WinUI3-Oberflächen sind schneller als
WPF
-Oberflächen, denn WinUI3 ist im Kern mit C++ implementiert und nicht in .NET-Code. Zudem nutzt WinUI3 die
DirectX
-Version 12, während
WPF
im Wesentlichen auf
DirectX
9 basiert. Im modernen .NET kommt in
WPF
teilweise
DirectX
11 zum Einsatz.
Einen zusätzlichen Vorteil hat WinUI3 seit September 2024: Seit WinUI3-Version 1.6 (Microsoft zählt nicht mehr die "3" hoch, sondern vergibt eine Unterversionsnummer) lassen sich WinUI3-Anwendungen mit dem NativeAOT-Compiler bereits zur Entwicklungszeit direkt in Maschinencode übersetzen. Das verkleinert die Anwendungspakete und beschleunigt den Anwendungsstart, auch wenn es kleinere Leistungseinbußen bei der Ausführungsgeschwindigkeit der Anwendung geben kann, weil es dann keinen
Just-in-Time-Compiler
(JIT) mehr gibt, der bei der Übersetzung Intermediate Language (IL) zu Maschinencode zur Laufzeit auf den Zielprozessor optimiert. Weder
Windows Forms
noch
WPF
können AOT-Kompilierung und es steht in den Sternen, ob und wann Microsoft das in den beiden älteren
GUI
-Frameworks ermöglichen wird.
WinUI3 beherrscht grundsätzlich alle Features von
WPF
(außer 3D-Rendering) und auch der Lernaufwand ist gleich. Im Detail gibt es aber Unterschiede zwischen WinUI3 und
WPF
, nicht nur in der XAML-Syntax, sondern auch bei der verfügbaren
Steuerelement
en. WinUI3 liefert im Standard mehr
Steuerelement
e mit als
WPF
. Wie bei
WPF
gibt es auch hier eine Gallery-Anwendung im Microsoft Store
https://apps.microsoft.com/detail/9p3jfpwwdzrc.
Zahlreiche weitere
Steuerelement
e liefert Microsoft kostenfrei im
Windows Community Toolkit
https://github.com/CommunityToolkit/Windows;
dazu gibt es nochmals eine eigene Gallery App (siehe
https://apps.microsoft.com/detail/9nblggh4tlcq);
viele der
Steuerelement
e sind aber im "Labs"-Stadium, was heißt: noch nicht fertig. Vergeblich sucht man in Microsofts WinUI3-Steuerelemnenten eine klassische Dateneingabetabelle. Im Community Toolkit in der aktuellen Version 8.0 gibt es nur eine nicht veränderbare Datentabelle. Es gab ein editierbares DataGrid-
Steuerelement
im
Windows Community Toolkit
7.1 für UWP, siehe
https://learn.microsoft.com/en-us/windows/communitytoolkit/controls/datagrid.
Auch für Diagramme, Berichte, Docking Manager u.v.m. Auch bei WinUI3 ist man also auf kommerzielle Drittanbietersteuerelementbibliotheken angewiesen. Dabei gibt es aber nicht so viele Optionen wie bei
Windows Forms
und
WPF
. Developer Express hat seine WinUI3-
Steuerelement
e vom Ma
rkt
genommen
https://www.devexpress.com/winui/.
Infragistics hat es nicht mehr als eine Preview geschafft
https://www.infragistics.com/community/blogs/b/infragistics/posts/introducing-the-ultimate-ui-for-winui-preview.
Actipro Software hat eine Portierung der bestehenden UWP-
Steuerelement
e abgekündigt
https://www.actiprosoftware.com/community/thread/25476/winui-3-and-dotnet-maui.
Das ist ein klarer Nachteil von WinUI3.
Schmerzlich ist, dass WinUI3 bis heute die in
WPF
verfügbaren Features zur komfortablen Eingabevalidierung mit der Schnittstelle INotifyDataErrorInfo fehlen [
https://github.com/microsoft/microsoft-ui-xaml/issues/179
]. Anders als in
WPF
, wo Validierungsfehler automatisch ins UI übernommen werden können, müssen Entwicklerinnen und Entwickler in WinUI3 den Validierungszustand und die entsprechende visuelle Rückmeldung selbst steuern.
Ein weiterer wesentlicher Nachteil von WinUI3 ist, dass es keinen grafischen Designer gibt; Entwicklerinnen und Entwickler müssen also die Tags immer manuell eingeben. Der XAML Live Preview innerhalb von
Visual Studio
und Hot Reloading funktioniert aber in WinUI3-Oberflächen.
Die Trennung von Benutzerschnittstelle und Code via
MVVM
-Pattern funktioniert mit WinUI3 genauso gut wie mit
WPF
. Das Look and Feel von WinUI3 ist moderner als bei
WPF
, auch wenn man bei
WPF
das Fluent Design seit
.NET 9.0
per eingebautem Resource Dictionary aktivieren kann. Die WinUI3-
Steuerelement
e sind alle bereits auf Basis des Fluent Designs entwickelt worden und bieten auch entsprechende Animationen.
Bei der
Datenbindung
bietet WinUI3 sogar mehr als
WPF
, denn die
Datenbindung
en können zur Entwicklungszeit bereits kompiliert werden (das macht man dort mit x:Bind) und müssen nicht zur Laufzeit erst übersetzt werden wie in
WPF
. Das macht WinUI3-Anwendungen robuster und schafft die Voraussetzung für NativeAOT-Kompilierung. Auch für WinUI3 gelten die Installationsverfahren wie bei
Windows Forms
und
WPF
. Bei WinUI3-Anwendungen sieht die Projektvorlage bereits das Verbreiten als
MSIX
-Paket vor (Packaged App).
Anlässlich der BUILD-Konferenz 2024 gab Microsoft am 21. Mai 2024 eine hilfreiche Stellungnahme heraus, welches Verständnis Microsoft selbst aktuell von WinUI3 und
WPF
hat. "WinUI 3 gehört neben
Windows Presentation Foundation
(
WPF
) zu den beiden empfohlenen nativen UI-Plattformen für Entwickler. Microsoft beschleunigt die Einführung von WinUI 3 und
Windows App SDK
in seinen eigenen Windows-Apps, darunter Fotos, Datei-Explorer,
Dev Home
, PowerToys, Phone Link und andere … Gemeinsam stellen WinUI 3,
Windows App SDK
und
WPF
den besten Weg nach vorne für Entwickler dar zum Erstellen moderner nativer Desktop-Apps unter Windows. WinUI 3 wird verwendet, wenn der Funktionsumfang den Anforderungen der App entspricht, insbesondere für Grafik-, Medien- und Verbraucherszenarien.
WPF
wird verwendet, um das große Ökosystem verfügbarer
Steuerelement
e und Bibliotheken von Drittanbietern zu nutzen, insbesondere solche für Branchenanwendungen.“ (übersetzt von
https://news.microsoft.com/build-2024-book-of-news/).
Obwohl WinUI3 die aktuellste Desktop-Benutzeroberfläche für Windows bietet und es ständig Innovationen für WinUI3 gibt, ist die Nachfrage nach WinUI3 bei www.IT-Visions.de bisher gering, das eben auch an der von Microsoft in obiger Aussage dokumentierten Fokussierung von WinUI3 auf "Grafik-, Medien- und Verbraucherszenarien" liegt.
Vorgänger
Ursprünglich ("
Windows UI Library
1"): UWP-
Steuerelement
e an jeweiliges
WinRT
-API-Version in
Windows 10
gekoppet, Closed Source
Windows UI Library
2: Open Souce, Down-Level-Nutzung der
Steuerelement
e in älteren
Windows 10
-Versionen
Zeitplan
September 2019: Alpha 1
Feb 2020: Alpha 2
19.5.2020: Preview 1
Juli 2020: Preview 2
Nov 2020: Preview 3
April 2021: erste Produktionsreife Version, noch mit Versionsnummer 0.5
Version 1.0: Die Version 1.0 von WinUI3 ist am 16. November 2021 erschienen.
Seitdem Releases mit Updates 1.x zweimal jährlich.
Fakten zu WinUI3
Teil des
Windows App SDK
Nachfolger von UWP+WinUI2
"Native UI Platform für
Windows 10
und 11"
Microsoft Fluent Style
.NET (ab Version 5.0) und C++
Basis für Windows Shell, viele Windows Apps, .NET MAUI und
React
Native
Die bereits seit 2019 in UWP verfügbare Einbettung von
Steuerelement
en in ältere
GUI
-Frameworks wie
Microsoft Foundation Classes
(
MFC
),
Windows Forms
und
Windows Presentation Foundation
(
WPF
) gibt es auch in WinUI 3. Z
Ausgewählte
GUI
-
Komponente
nanbieter für WinUI3
Microsoft
Windows Community
Toolkit
https://github.com/CommunityToolkit/WindowsCommunityToolkit
Syncfusion
WinUI Controls
https://syncfusion.com/winui-controls
Telerik
UI for WinUI
https://www.telerik.com/winui
MESCIUS (vormals GrapeCity)
ComponentOne WinUI Edition
https://developer.mescius.com/componentone/winui-controls
Details von Microsoft
"At the
Microsoft Build
conference in May 2019 we shared our plans for WinUI 3.0, which will greatly expand the scope of WinUI to include the full native Windows UI platform."
[
https://github.com/Microsoft/microsoft-ui-xaml
]
"This means that the Xaml framework will now be developed on GitHub and ship out of band as
NuGet
packages. The existing UWP Xaml APIs that ship as part of the OS will no longer receive new feature updates. They will still receive security updates and critical fixes according to the
Windows 10
support lifecycle.
The
Universal Windows Platform
contains more than just the Xaml framework (e.g. application and security model, media pipeline, Xbox and
Windows 10
shell integrations, broad device support) and will continue to evolve. All new Xaml features will just be developed and ship as part of WinUI instead.
Language: .NET (C#, Visual Basic), Standard C++
App model: UWP, Win32
Packaging:
MSIX
,
AppX
for the Microsoft Store, unpackaged
Interop: use WinUI 3 to extend existing
WPF
,
WinForms
and
MFC
apps with modern
Fluent UI
WinUI 3.0 should be backward-compatible to Creators Update (15063) on
Windows 10
, plus limited support on
Windows 8.1
"
[
https://github.com/microsoft/microsoft-ui-xaml/blob/master/docs/roadmap.md
]
Querverweise zu anderen Begriffen im Lexikon
Windows Presentation Foundation (WPF)
Microsoft Foundation Classes (MFC)
Universal Windows Platform (UWP)
Windows Community Toolkit
Just-in-Time-Compiler
Windows UI Library (WinUI)
Microsoft Build (MSBuild)
Windows App SDK (WASP)
.NET Framework
Windows Forms (WinForms)
Visual Studio (VS)
Steuerelement
Datenbindung
Open Source
Windows 8.1
Komponente
Windows 11
Windows 10
Container
Fluent UI
Dev Home
.NET 9.0 (.NET 9)
DirectX
React
AppX
Windows 32 Application Programming Interface (Win32-API)
Windows Forms (WinForms)
.NET Software Development Kit (.NET SDK)
Universal Windows Platform App (UWP App)
Windows Runtime (WinRT)
NuGet Library Package Manager (NuGet)
MSIX Windows Application Packaging (MSIX)
Model-View-ViewModell (MVVM)
Rocket (rkt)
Microsoft Foundation Classes (MFC)
Windows Presentation Foundation (WPF)
Graphical User Interface (GUI)
Beratung & Support
Anfrage für Beratung/Consulting zu Windows UI Library 3 WinUI3
Gesamter Beratungsthemenkatalog
Technischer Support zum Windows UI Library 3 WinUI3
Schulungen zu diesem Thema
Windows UI Library 3 (WinUI 3)
.NET Akademie: Windows UI Library 3 (WinUI 3): Moderne Windows-Desktop-Anwendungen (3-Tages-Agenda des öffentlichen Seminars)
Windows UI Library 3 (WinUI 3) für Umsteiger von WPF
Umstieg auf .NET 8.0/9.0 - Entwicklerworkshop (Umstellung/Migration von klassischem .NET Framework zu .NET 6.0/8.0/9.0)
Umstieg auf .NET 8.0/9.0 - Entwicklerworkshop mit allen Anwendungsgebieten (Umstellung/Migration von klassischem .NET Framework zu .NET 6.0/8.0/9.0)
.NET-Entwickler-Update 2022
Extensible Application Markup Language (XAML)
Windows Presentation Foundation (WPF) - Basiswissen
.NET-Entwickler-Update 2021
DevOps / Continuous Integration (CI)/Continuous Delivery (CD) mit Pipelines in Azure DevOps Server / Azure DevOps Services (ADO) - Build- und Releasemanagement
Anfrage für eine individuelle Schulung zum Thema Windows UI Library 3 WinUI3
Gesamter Schulungsthemenkatalog
Bücher zu diesem Thema
Alle unsere aktuellen Fachbücher
E-Book-Abo für ab 99 Euro im Jahr