Übersicht über die Windows App SDK-Plattform

Die Windows App SDK unterstützt zwei Sprachen für die App-Entwicklung: C# und C++. Jede Sprache verwendet eine Sprachprojektion, um Windows-Runtime (WinRT)-APIs aufzurufen, und beide verwenden XAML (insbesondere WinUI 3 XAML im Microsoft.UI.Xaml Namespace), um die Benutzeroberfläche zu definieren. Zusammen bilden diese Projektionen und das UI-Framework die Plattformebene.

Note

C# und C++ sind die einzigen Sprachen mit unterstützten Projektionen für Windows App SDK und WinUI 3. Gemeinschaftsprojekte existieren für andere Sprachen (z. B. Rust), aber sie werden nicht offiziell unterstützt.

Müssen Sie dies wissen?

Wenn Sie ein Projekt aus den Standardvorlagen Visual Studio für Windows App SDK oder WinUI 3 erstellen, ist die Sprachprojektion bereits für Sie konfiguriert. Ihr C#- oder C++-Code kann WinRT-APIs direkt aufrufen, und Sie müssen nicht überlegen, wie die Projektion funktioniert.

In der Regel müssen Sie tiefer in die Projektionsebene schauen, wenn Sie:

  • Erstellen Sie eine Windows-Runtime Komponente, die andere Apps oder Sprachen nutzen.
  • Verteilen Sie eine Bibliothek als NuGet-Paket, das WinRT-APIs umschließt.
  • Interoperabilität mit COM- oder ABI-Schnittstellen auf niedriger Ebene aus C++-Code.
  • Beheben von Buildfehlern im Zusammenhang mit generiertem Interop-Code oder WinMD-Dateien.

Für die tägliche App-Entwicklung sind die folgenden Details Hintergrundwissen – nützlich, wenn Sie neugierig sind, aber für den Einstieg nicht erforderlich.

Sprachprojektionen

Windows-Runtime APIs werden mithilfe von Windows Metadatendateien (.winmd) auf sprachneutrale Weise definiert. Eine Sprachprojektion liest die Metadaten und generiert idiomatische Bindungen, sodass Sie die APIs natürlich aus C++ oder C# aufrufen können.

Projection Language Was es ist Namespacemuster
C++/WinRT C++17 Eine Header-Only-Bibliothek, die direkten Zugriff auf WinRT-APIs bietet. Es ersetzt C++/CX und die Windows-Runtime C++-Vorlagenbibliothek (WRL). winrt::Microsoft::UI::Xaml
C#/WinRT C# (.NET) Ein als NuGet-Paket verfügbares Toolkit, das .NET-Interop-Assemblys aus .winmd-Dateien generiert. Es ermöglicht Ihnen, WinRT-Komponenten aus C# zu nutzen und zu erstellen. Microsoft.UI.Xaml

Benutzeroberflächenframework

Rahmen Was es ist Namespace
XAML (WinUI 3) Die deklarative XML-basierte Markupsprache für WinUI 3-Benutzeroberflächen. Behandelt Layout, Formatierung, Datenbindung und Animationen. CodeBehind wird in C# oder C++ geschrieben. Microsoft.UI.Xaml (nicht Windows.UI.Xaml, was UWP ist)

Wichtig

WinUI 3 XAML verwendet den Microsoft.UI.Xaml Namespace. Wenn Sie in Code oder in der Dokumentation Verweise auf Windows.UI.Xaml sehen, handelt es sich um UWP XAML, ein anderes Framework. Mischen Sie die beiden Namespaces nicht in einem WinUI 3-Projekt.

Nächste Schritte

Wählen Sie den Bereich aus, der dem gewünschten Inhalt entspricht: