Windows Uygulama SDK'sı platformuna genel bakış

Windows Uygulama SDK'sı, uygulama geliştirme için iki dili destekler: C# ve C++. Her dil, Windows Çalışma Zamanı (WinRT) API'lerini çağırmak için bir dil projeksiyonu kullanır ve her ikisi de kullanıcı arabirimini tanımlamak için XAML (özellikle ad alanında Microsoft.UI.Xaml WinUI 3 XAML) kullanır. Bu projeksiyonlar ve UI çerçevesi birlikte platform katmanını oluşturur.

Note

C# ve C++ Windows Uygulama SDK'sı ve WinUI 3 için desteklenen projeksiyonlara sahip tek dillerdir. Topluluk projeleri diğer diller (Rust gibi) için mevcuttur ancak resmi olarak desteklenmemektedir.

Bunu bilmen gerekiyor mu?

Windows Uygulama SDK'sı veya WinUI 3 için standart Visual Studio şablonlarından bir proje oluşturursanız, dil projeksiyonu sizin için zaten yapılandırılmıştır. C# veya C++ kodunuz WinRT API'lerini doğrudan çağırabilir ve yansıtmanın nasıl çalıştığını düşünmeniz gerekmez.

Aşağıdaki durumlarda genellikle projeksiyon katmanının daha derinine bakmanız gerekir:

  • Diğer uygulamaların veya dillerin tükettiği bir Windows Çalışma Zamanı bileşeni yazın.
  • Kitaplığı WinRT API'lerini sarmalayan bir NuGet paketi olarak dağıt.
  • C++ kodundan alt düzey COM veya ABI arabirimleriyle birlikte çalışma.
  • Oluşturulan interop kodu veya WinMD dosyalarıyla ilgili derleme hatalarını giderin.

Günlük uygulama geliştirme için aşağıdaki ayrıntılar arka plan bilgisidir; merak ediyorsanız ancak başlamak için gerekli değilse kullanışlıdır.

Dil projeksiyonları

Windows Çalışma Zamanı API'leri, Windows Meta Veri (.winmd) dosyaları kullanılarak dilden bağımsız bir şekilde tanımlanır. Dil projeksiyonu bu meta verileri okur ve API'leri C++ veya C# dilinden doğal olarak çağırabilmeniz için idiomatic bağlamalar oluşturur.

Projection Dil Bu nedir Ad alanı düzeni
C++/WinRT C++17 WinRT API'lerine doğrudan erişim sağlayan, yalnızca başlık dosyalarından oluşan bir kitaplık. C++/CX ve Windows Çalışma Zamanı C++ Şablon Kitaplığı'nın (WRL) yerini alır. winrt::Microsoft::UI::Xaml
C#/WinRT C# (.NET) .winmd dosyalarından .NET birlikte çalışma derlemeleri oluşturan, NuGet paketi olarak sunulan bir araç seti. C# dilinden WinRT bileşenlerini kullanmanıza ve yazmanıza olanak tanır. Microsoft.UI.Xaml

UI çerçevesi

Çerçeve Bu nedir Namespace
XAML (WinUI 3) WinUI 3 kullanıcı arabirimleri için bildirim temelli XML tabanlı işaretleme dili. Düzen, stil oluşturma, veri bağlama ve animasyonları işler. Arka planda kod C# veya C++ dilinde yazılır. Microsoft.UI.Xaml (değil Windows.UI.Xaml, UWP'dir)

Önemli

WinUI 3 XAML ad alanını Microsoft.UI.Xaml kullanır. Windows.UI.Xaml öğesine başvuran kod veya belgeler görürseniz, bu farklı bir çerçeve olan UWP XAML'e aittir. WinUI 3 projesinde iki ad alanını karıştırmayın.

Sonraki Adımlar

Öğrenmek istediğiniz alanla eşleşen alanı seçin: