visão geral da plataforma SDK do Aplicativo Windows

O SDK do Aplicativo Windows dá suporte a dois idiomas para desenvolvimento de aplicativos: C# e C++. Cada idioma usa uma projeção de linguagem para chamar APIs Windows Runtime (WinRT) e ambos usam XAML (especificamente WinUI 3 XAML, no Microsoft.UI.Xaml namespace) para definir a interface do usuário. Juntas, essas projeções e a estrutura da interface do usuário formam a camada de plataforma.

Note

C# e C++ são os únicos idiomas com projeções com suporte para SDK do Aplicativo Windows e WinUI 3. Existem projetos de comunidade para outros idiomas (como o Rust), mas eles não têm suporte oficial.

Você precisa saber sobre isso?

Se você criar um projeto com base nos modelos de Visual Studio padrão para SDK do Aplicativo Windows ou WinUI 3, a projeção de idioma já estará configurada para você. O código C# ou C++ pode chamar as APIs do WinRT diretamente e você não precisa pensar em como a projeção funciona.

Normalmente, você precisa examinar mais profundamente a camada de projeção ao:

  • Crie um componente Windows Runtime que outros aplicativos ou idiomas consomem.
  • Distribua uma biblioteca como um pacote NuGet que encapsula as APIs do WinRT.
  • Interoperabilidade com interfaces COM ou ABI de baixo nível do código C++.
  • Solucione problemas de erros de build relacionados ao código de interoperabilidade gerado ou arquivos WinMD.

Para o desenvolvimento diário de aplicativos, os detalhes a seguir são de conhecimento em segundo plano , útil se você estiver curioso, mas não necessário para começar.

Projeções de linguagem

Windows Runtime APIs são definidas de forma neutra em linguagem usando arquivos de metadados Windows (.winmd). Uma projeção de linguagem lê esses metadados e gera associações idiomáticas para que você possa chamar as APIs naturalmente de C++ ou C#.

Projection Linguagem O que é Padrão de namespace
C++/WinRT C++17 Uma biblioteca somente de cabeçalho que fornece acesso de primeira classe às APIs do WinRT. Ele substitui C++/CX e a WRL (Biblioteca de Modelos Windows Runtime C++). winrt::Microsoft::UI::Xaml
C#/WinRT C# (.NET) Um conjunto de ferramentas empacotado como pacote NuGet que gera assemblies de interoperabilidade para .NET a partir de arquivos .winmd. Ele permite que você consuma e crie componentes winRT do C#. Microsoft.UI.Xaml

Estrutura de interface do usuário

Framework O que é Namespace
XAML (WinUI 3) A linguagem de marcação baseada em XML declarativa para interfaces de usuário do WinUI 3. Manipula layout, estilo, associação de dados e animações. Code-behind é escrito em C# ou C++. Microsoft.UI.Xaml (não Windows.UI.Xaml, que é UWP)

Importante

O WinUI 3 XAML usa o Microsoft.UI.Xaml namespace. Se você vir código ou documentação que façam referência a Windows.UI.Xaml, isso é XAML UWP, que é um framework diferente. Não misture os dois namespaces em um projeto WinUI 3.

Próximas Etapas 

Escolha a área que corresponde ao que você deseja aprender: