overzicht van Windows App SDK platform

De Windows App SDK ondersteunt twee talen voor app-ontwikkeling: C# en C++. Elke taal gebruikt een taalprojectie om Windows Runtime (WinRT)-API's aan te roepen, en beide gebruiken XAML (met name WinUI 3 XAML, in de Microsoft.UI.Xaml naamruimte) om de gebruikersinterface te definiëren. Samen vormen deze projecties en het UI-framework de platformlaag.

Note

C# en C++ zijn de enige talen met ondersteunde projecties voor Windows App SDK en WinUI 3. Er bestaan communityprojecten voor andere talen (zoals Rust), maar ze worden niet officieel ondersteund.

Moet je dit weten?

Als u een project maakt op basis van de standaardsjablonen voor Visual Studio voor Windows App SDK of WinUI 3, is de taalprojectie al voor u geconfigureerd. Uw C#- of C++-code kan WinRT-API's rechtstreeks aanroepen en u hoeft niet na te denken over hoe de projectie werkt.

U moet doorgaans dieper in de projectielaag kijken wanneer u:

  • Een Windows Runtime-onderdeel maken dat door andere apps of talen wordt gebruikt.
  • Distribueer een bibliotheek als een NuGet-pakket dat WinRT-API's verpakt.
  • Interoperabiliteit met COM- of ABI-interfaces op laag niveau vanuit C++-code.
  • Problemen met buildfouten oplossen met betrekking tot gegenereerde interoperabiliteitscode of WinMD-bestanden.

Voor de dagelijkse ontwikkeling van apps zijn de onderstaande details achtergrondkennis — nuttig als u meer wilt weten, maar niet nodig om aan de slag te gaan.

Taalprojecties

Windows Runtime API's worden gedefinieerd op een taalneutrale manier met behulp van Windows Metagegevensbestanden (.winmd). Een taalprojectie leest die metagegevens en genereert idiomatische bindingen, zodat u de API's natuurlijk kunt aanroepen vanuit C++ of C#.

Projectie Language Wat het is Naamruimtepatroon
C++/WinRT C++17 Een bibliotheek met alleen headers die eersteklas toegang biedt tot WinRT-API's. Het vervangt C++/CX en de Windows Runtime C++-sjabloonbibliotheek (WRL). winrt::Microsoft::UI::Xaml
C#/WinRT C# (.NET) Een als NuGet-pakket verpakte toolkit die .NET-interop-assemblies genereert uit .winmd-bestanden. Hiermee kunt u WinRT-onderdelen van C# gebruiken en ontwerpen. Microsoft.UI.Xaml

UI-framework

Framework Wat het is Namespace
XAML (WinUI 3) De declaratieve XML-opmaaktaal voor WinUI 3-gebruikersinterfaces. Hiermee worden indelingen, stijlen, gegevensbinding en animaties verwerkt. Code-behind is geschreven in C# of C++. Microsoft.UI.Xaml (niet Windows.UI.Xaml, wat UWP is)

Important

WinUI 3 XAML maakt gebruik van de Microsoft.UI.Xaml naamruimte. Als u code of documentatie ziet waarnaar wordt verwezen Windows.UI.Xaml, is dat UWP XAML. Dit is een ander framework. Meng de twee naamruimten niet in een WinUI 3-project.

Volgende stappen 

Kies het gebied dat overeenkomt met wat u wilt leren: