översikt över Windows App SDK plattform

Windows App SDK stöder två språk för apputveckling: C# och C++. Varje språk använder en språkprojektion för att anropa API:er för Windows Runtime (WinRT) och båda använder XAML (specifikt WinUI 3 XAML i Microsoft.UI.Xaml namnområdet) för att definiera användargränssnittet. Tillsammans utgör dessa projektioner och UI-ramverket plattformsskiktet.

Note

C# och C++ är de enda språken med projektioner som stöds för Windows App SDK och WinUI 3. Communityprojekt finns för andra språk (till exempel Rust), men de stöds inte officiellt.

Behöver du veta om det här?

Om du skapar ett projekt från standardmallarna Visual Studio för Windows App SDK eller WinUI 3 är språkprojektionen redan konfigurerad åt dig. C#- eller C++-koden kan anropa WinRT-API:er direkt och du behöver inte tänka på hur projektionen fungerar.

Du behöver vanligtvis titta närmare på projektionsskiktet när du:

  • Skapa en Windows Runtime komponent som andra appar eller språk använder.
  • Distribuera ett bibliotek som ett NuGet-paket som omsluter WinRT-API:er.
  • Samverkan med COM- eller ABI-gränssnitt på låg nivå från C++-kod.
  • Felsöka build-fel som rör genererad interop-kod eller WinMD-filer.

För daglig apputveckling är informationen nedan bakgrundskunskap – användbar om du är nyfiken, men inte behöver komma igång.

Språkprojektioner

Windows Runtime API:er definieras på ett språkneutralt sätt med hjälp av Windows metadatafiler (.winmd). En språkprojektion läser dessa metadata och genererar idiomatiska bindningar så att du kan anropa API:erna naturligt från C++ eller C#.

Projection Language Vad det är Namnområdesmönster
C++/WinRT C++17 Ett huvudbibliotek som ger förstklassig åtkomst till WinRT-API:er. Den ersätter C++/CX och Windows Runtime C++ Template Library (WRL). winrt::Microsoft::UI::Xaml
C#/WinRT C# (.NET) En NuGet-paketerad verktygslåda som genererar .NET interop-sammansättningar från .winmd filer. Det gör att du kan använda och skapa WinRT-komponenter från C#. Microsoft.UI.Xaml

Ramverk för användargränssnitt

Framework Vad det är Namespace
XAML (WinUI 3) Det deklarativa XML-baserade märkspråket för användargränssnitt i WinUI 3. Hanterar layout, formatering, databindning och animeringar. Bakomliggande kod skrivs i C# eller C++. Microsoft.UI.Xaml (inte Windows.UI.Xaml, vilket är UWP)

Important

WinUI 3 XAML använder Microsoft.UI.Xaml namnområdet. Om du ser kod eller dokumentation som refererar Windows.UI.Xamltill är det UWP XAML, vilket är ett annat ramverk. Blanda inte de två namnrymderna i ett WinUI 3-projekt.

Nästa steg

Välj det område som matchar det du vill lära dig: