Omówienie platformy Zestaw SDK do aplikacji systemu Windows

Zestaw SDK do aplikacji systemu Windows obsługuje dwa języki tworzenia aplikacji: C# i C++. Każdy język używa projekcji języka do wywoływania interfejsów API środowisko wykonawcze systemu Windows (WinRT), a oba używają języka XAML (w szczególności WinUI 3 XAML w Microsoft.UI.Xaml przestrzeni nazw) w celu zdefiniowania interfejsu użytkownika. Razem te projekcje i struktura interfejsu użytkownika tworzą warstwę platformy.

Note

Języki C# i C++ to jedyne języki z obsługiwanymi projekcjami dla Zestaw SDK do aplikacji systemu Windows i WinUI 3. Projekty społeczności istnieją dla innych języków (takich jak Rust), ale nie są one oficjalnie obsługiwane.

Czy musisz wiedzieć o tym?

Jeśli tworzysz projekt na podstawie standardowych szablonów Visual Studio dla Zestaw SDK do aplikacji systemu Windows lub WinUI 3, projekcja języka jest już skonfigurowana. Kod C# lub C++ może wywoływać bezpośrednio interfejsy API WinRT i nie trzeba myśleć o sposobie działania projekcji.

Zazwyczaj należy dokładniej przyjrzeć się warstwie projekcji, gdy:

  • Utwórz składnik środowisko wykonawcze systemu Windows używany przez inne aplikacje lub języki.
  • Dystrybuuj bibliotekę jako pakiet NuGet, który opakowuje interfejsy API WinRT.
  • Współdziałanie z interfejsami COM lub ABI niskiego poziomu z kodu języka C++.
  • Rozwiązywanie problemów z błędami kompilacji związanymi z wygenerowanymi kodami międzyoperanymi lub plikami WinMD.

W przypadku codziennego tworzenia aplikacji poniżej znajdują się szczegółowe informacje — przydatne, jeśli jesteś ciekawy, ale nie jest to wymagane, aby rozpocząć pracę.

Projekcje językowe

interfejsy API środowisko wykonawcze systemu Windows są definiowane w sposób neutralny dla języka przy użyciu plików Windows Metadata (.winmd). Projekcja języka odczytuje te metadane i generuje powiązania idiomatyczne, dzięki czemu można naturalnie wywoływać interfejsy API z języka C++ lub C#.

Projection Język Co to jest Wzorzec przestrzeni nazw
C++/WinRT C++17 Biblioteka tylko do nagłówka, która zapewnia dostęp pierwszej klasy do interfejsów API WinRT. Zastępuje język C++/CX i bibliotekę szablonów języka C++ środowisko wykonawcze systemu Windows (WRL). winrt::Microsoft::UI::Xaml
C#/WinRT C# (.NET) Zestaw narzędzi NuGet, który generuje zestawy międzyoperacyjne .NET z .winmd plików. Umożliwia korzystanie ze składników WinRT i tworzenie ich z poziomu języka C#. Microsoft.UI.Xaml

Struktura interfejsu użytkownika

Framework Co to jest Namespace
XAML (WinUI 3) Deklaratywny język znaczników oparty na języku XML dla interfejsów użytkownika WinUI 3. Obsługuje układ, styl, powiązanie danych i animacje. Kod jest napisany w języku C# lub C++. Microsoft.UI.Xaml (nie Windows.UI.Xaml, który jest platformą UWP)

Important

Interfejs WinUI 3 XAML używa Microsoft.UI.Xaml przestrzeni nazw. Jeśli widzisz kod lub dokumentację odwołującą Windows.UI.Xamlsię do elementu , to jest kod XAML platformy UWP, który jest inną strukturą. Nie mieszaj dwóch przestrzeni nazw w projekcie WinUI 3.

Następne kroki

Wybierz obszar pasujący do tego, czego chcesz się nauczyć: