Derzeit gibt es zwei WinUI-Generationen: WinUI 2 für UWP und WinUI im Windows App-SDK (WinUI 3). Zwar können beide in produktionsbereiten Apps unter Windows 10 und höher verwendet werden, doch besitzt jede von ihnen unterschiedliche Entwicklungsziele.
WinUI ist ein natives Benutzererfahrungsframework (User Experience, UX) für Windows-Desktop- und UWP-Anwendungen.
Durch die Integration des Fluent Design-Systems in alle Erfahrungen, Steuerelemente und Stile bietet WinUI unter Verwendung der neuesten Benutzeroberflächenmuster (UI) einheitliche, intuitive und zugängliche Benutzerumgebungen.
Mit Unterstützung für Desktop- und UWP-Apps können Sie von Grund auf mit WinUI erstellen oder Ihre vorhandenen MFC-, WinForms- oder WPF-Apps schrittweise mithilfe vertrauter Sprachen wie C++, C#, Visual Basic und JavaScript (mit React Native for Desktop) migrieren.
Die WinUI-Bibliotheken werden im WinUI GitHub-Repository gehostet, in dem Sie Featureanforderungen oder Fehler ablegen und mit dem WinUI-Team interagieren können.
Vergleich von WinUI 3 und WinUI 2
In der folgenden Tabelle werden einige der wichtigsten Unterschiede zwischen WinUI 3 im Windows App SDK und WinUI 2 für UWP hervorgehoben.
WinUI 2, die zweite Generation von WinUI, die als eigenständiges NuGet-Paket ausgeliefert wird und in Windows SDKs integriert ist.
UX-Stack und Steuerungsbibliothek sind vollständig vom Betriebssystem und den Windows SDKs entkoppelt, einschließlich Kernframework, Kompositions- und Eingabeebene des UX-Stacks.
UX-Stack und die Steuerelementbibliothek sind eng an das Betriebssystem und die Windows SDKs gekoppelt.
WinUI 3 kann verwendet werden, um produktionsbereite Desktop/Win32-Windows-Apps zu erstellen.
WinUI 3 wird als Komponente des Windows App SDK-Frameworkpakets mit Visual Studio-Projektvorlagen in der Windows App SDK-Visual Studio-Erweiterung (VSIX) ausgeliefert.
Ein Teil von WinUI 2 wird im Betriebssystem selbst (die Windows.UI.*-Familie der UWP-WinRT-APIs) und ein Teil wird als Bibliothek („WinUI 2“) mit zusätzlichen Steuerelementen, Elementen und den neuesten Formatvorlagen, zusätzlich zu dem, was bereits im Betriebssystem selbst enthalten ist, ausgeliefert. Mit WinUI 2 werden diese Features in einem herunterladbaren NuGet-Paket ausgeliefert. Andere bedeutende Teile des UI-Stacks sind jedoch noch in das Betriebssystem integriert, z. B. XAML-Kernframework, Eingabe- und Kompositionsebene.
WinUI 3 unterstützt C# (.NET 6 und höher) und C++ für Desktop-Apps.
WinUI 2 unterstützt C#- und Visual Basic (.NET Native)- sowie C++-Apps.
WinUI 3 wird nur in desktopbasierten Projekten unterstützt. Um WinUI 3 zu verwenden, können UWP-Projekte ihren Projekttyp zum Desktop migrieren (siehe Migrieren Ihrer UWP-App zum Windows App SDK).
WinUI 2 kann in UWP-Apps für die Produktion integriert werden, indem ein NuGet-Paket in einem neuen oder vorhandenen UWP-Projekt installiert wird. WinUI-Steuerelemente und -Stile können dann in neuen Apps direkt oder in vorhandenen Apps durch Aktualisieren von „Windows.UI.“-Namespaceverweisen in „Microsoft.UI.“ referenziert werden.
WinUI 3 unterstützt das Chromium-basierte WebView2-Steuerelement.
WinUI 2 unterstützt das WebView-Steuerelement auf allen Geräten. Ab WinUI 2.8 wird das WebView2-Steuerelement auf Desktops unterstützt.
WinUI 3 ist abwärtskompatibel mit Windows 10 October 2018 Update (Version 1809, Betriebssystembuild 17763).
WinUI 2.0 bis 2.7 sind abwärtskompatibel mit Windows 10 Creators Update (Version 1703, Betriebssystembuild 15063). WinUI 2.8 und höher ist abwärtskompatibel mit Windows 10 October 2018 Update (Version 1809, Betriebssystembuild 17763).
Die Quelle für diesen Inhalt finden Sie auf GitHub, wo Sie auch Issues und Pull Requests erstellen und überprüfen können. Weitere Informationen finden Sie in unserem Leitfaden für Mitwirkende.
Feedback zu Windows developer
Windows developer ist ein Open Source-Projekt. Wählen Sie einen Link aus, um Feedback zu geben:
Windows-Entwickler haben verschiedene Optionen zum Erstellen von Anwendungen, die unter Windows ausgeführt werden. In diesem Modul werden die Windows-Benutzeroberflächenframeworks vorgestellt, die für die Windows-Entwicklung verfügbar sind. Außerdem enthält es einen Leitfaden zum Auswählen des besten Frameworks für Ihre Anwendung.