Přehled platformy Windows App SDK

Windows App SDK podporuje dva jazyky pro vývoj aplikací: C# a C++. Každý jazyk používá jazykovou projekci k volání rozhraní API prostředí Windows Runtime (WinRT) a oba používají XAML (konkrétně WinUI 3 XAML v oboru názvů Microsoft.UI.Xaml) k definování uživatelského rozhraní. Společně tyto projekce a architektura uživatelského rozhraní tvoří vrstvu platformy.

Note

C# a C++ jsou jedinými jazyky s podporovanými projekcemi pro Windows App SDK a WinUI 3. Projekty komunity existují pro jiné jazyky (například Rust), ale nejsou oficiálně podporovány.

Potřebujete o tom vědět?

Pokud vytvoříte projekt ze standardních šablon Visual Studio pro Windows App SDK nebo WinUI 3, je pro vás už projekce jazyka nakonfigurovaná. Kód C# nebo C++ může přímo volat rozhraní API WinRT a nemusíte přemýšlet o tom, jak projekce funguje.

Obvykle je potřeba se podívat hlouběji do vrstvy projekce, když:

  • Vytvořte komponentu prostředí Windows Runtime, kterou využívají jiné aplikace nebo jazyky.
  • Distribuujte knihovnu jako balíček NuGet, který zabalí rozhraní API WinRT.
  • Interoperabilita s rozhraními COM nebo ABI nízké úrovně z kódu C++.
  • Řešení chyb sestavení souvisejících s vygenerovaným kódem zprostředkovatele komunikace nebo soubory WinMD

V případě každodenního vývoje aplikací jsou níže uvedené podrobnosti základní znalosti – užitečné, pokud vás zajímají, ale nevyžadují se k tomu, abyste mohli začít.

Jazykové projekce

prostředí Windows Runtime rozhraní API jsou definována jazykově neutrálním způsobem pomocí souborů Windows Metadata (.winmd). Jazyková projekce čte tato metadata a generuje idiomatické vazby, abyste mohli rozhraní API přirozeně volat z jazyka C++ nebo C#.

Projection Jazyk Co to je Vzor názvového prostoru
C++/WinRT C++17 Záhlavová knihovna, která poskytuje plnohodnotný přístup k rozhraním API WinRT. Nahrazuje C++/CX a knihovnu šablon jazyka C++ prostředí Windows Runtime C++. winrt::Microsoft::UI::Xaml
C#/WinRT C# (.NET) Sada nástrojů zabalená jako balíček NuGet, která generuje propojovací sestavení .NET ze souborů .winmd. Umožňuje využívat a vytvářet komponenty WinRT z jazyka C#. Microsoft.UI.Xaml

Architektura uživatelského rozhraní

.NET Framework Co to je Namespace
XAML (WinUI 3) Deklarativní jazyk značek založený na jazyce XML pro uživatelská rozhraní WinUI 3. Zpracovává rozložení, styly, datové vazby a animace. Code-behind je napsán v jazyce C# nebo C++. Microsoft.UI.Xaml (ne Windows.UI.Xaml, což je UPW)

Important

WinUI 3 XAML používá obor názvů Microsoft.UI.Xaml. Pokud uvidíte kód nebo dokumentaci odkazující na Windows.UI.Xaml, jedná se o UWP XAML, což je jiný framework. Oba obory názvů v projektu WinUI 3 nekombinujte.

Další kroky

Zvolte oblast, která odpovídá tomu, co se chcete naučit: