Windows App SDK platform áttekintése

A Windows App SDK két nyelvet támogat az alkalmazásfejlesztéshez: C# és C++. Minden nyelv egy nyelvi kivetítés használatával hívja meg a Windows-futtatókörnyezet (WinRT) API-kat, és mindkettő XAML -t (pontosabban WinUI 3 XAML-t, a Microsoft.UI.Xaml névtérben) használ a felhasználói felület meghatározásához. Ezek az előrejelzések és a felhasználói felületi keretrendszer együttesen alkotják a platformréteget.

Note

A C# és a C++ az egyetlen olyan nyelv, amely támogatja a Windows App SDK és a WinUI 3 használatát. A közösségi projektek más nyelvekre (például Rust) is léteznek, de hivatalosan nem támogatottak.

Tudnia kell erről?

Ha a Windows App SDK vagy WinUI 3 standard Visual Studio sablonjaiból hoz létre projektet, a nyelvi kivetítés már konfigurálva van. A C# vagy C++ kód közvetlenül meghívhatja a WinRT API-kat, és nem kell átgondolnia a kivetítés működését.

A vetítési réteget általában mélyebben kell megvizsgálnia, ha:

  • Olyan Windows-futtatókörnyezet összetevő létrehozása, amelyet más alkalmazások vagy nyelvek használnak.
  • Terjesszen egy programkönyvtárat a WinRT API-kat becsomagoló NuGet-csomagként.
  • Együttműködés alacsony szintű COM- vagy ABI-felületekkel C++ kódból.
  • A létrehozott interop kóddal vagy WinMD-fájlokkal kapcsolatos buildelési hibák elhárítása.

A mindennapi alkalmazásfejlesztéshez az alábbi részletek háttérismeretnek számítanak – hasznosak, ha kíváncsi rájuk, de az induláshoz nem szükségesek.

Nyelvi előrejelzések

Windows-futtatókörnyezet API-k nyelvsemleges módon vannak definiálva Windows metaadatfájlok (.winmd) használatával. A nyelvi kivetítés felolvassa a metaadatokat, és idiomatikus kötéseket hoz létre, hogy az API-kat természetesen c++ vagy C# nyelven hívhassa meg.

Projection Nyelv Mi az? Névtérminta
C++/WinRT C++17 Csak fejléces kódtár, amely első osztályú hozzáférést biztosít a WinRT API-khoz. A C++/CX és a Windows-futtatókörnyezet C++ sablontár (WRL) helyébe lép. winrt::Microsoft::UI::Xaml
C#/WinRT C# (.NET) NuGet-csomagként terjesztett eszközkészlet, amely .NET interoperabilitási szerelvényeket hoz létre .winmd fájlokból. Lehetővé teszi a WinRT-összetevők C#-ból való használatát és készítését. Microsoft.UI.Xaml

Felhasználói felületi keretrendszer

Keretrendszer Mi az? Namespace
XAML (WinUI 3) A WinUI 3 felhasználói felületeinek deklaratív XML-alapú korrektúranyelve. Kezeli az elrendezést, a stílust, az adatkötést és az animációkat. A kód mögötti kód C# vagy C++ nyelven írható. Microsoft.UI.Xaml (nem Windows.UI.Xaml, amely UWP)

Important

A WinUI 3 XAML a névteret Microsoft.UI.Xaml használja. Ha kódra vagy dokumentációra való hivatkozás Windows.UI.Xamljelenik meg, ez az UWP XAML, amely egy másik keretrendszer. Ne keverje a két névteret WinUI 3-projektben.

Következő lépések

Válassza ki a tanulni kívánt területnek megfelelő területet: