Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
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:
Windows developer