Recursos de Windows modernos para aplicativos da área de trabalho

Você não precisa reescrever seu aplicativo WPF, Windows Forms ou Win32 para aproveitar os recursos de Windows modernos. O SDK do Aplicativo Windows e a plataforma de Windows mais ampla oferecem funcionalidades modulares que você pode adotar incrementalmente, em seu próprio ritmo.

Este artigo apresenta três abordagens de modernização independentes, chamando APIs Windows Runtime (WinRT), adicionando o SDK do Aplicativo Windows e adotando o empacotamento MSIX, para que você possa decidir quais recursos adicionar e por onde começar com base na estrutura do aplicativo.

Migração da estrutura de interface do usuário para o WinUI 3

Se sua meta for modernizar totalmente a camada de interface do usuário do aplicativo, recomendamos migrar para o WinUI 3 – a estrutura de interface do usuário nativa para Windows aplicativos da área de trabalho. Confira Criar seu primeiro aplicativo WinUI 3 para começar.

Se você quiser adicionar Windows recursos à estrutura de aplicativo existente (WPF, Windows Forms ou C++ Win32) sem alterar a camada da interface do usuário, use uma das abordagens de modernização descritas neste artigo.

Note

Este artigo aborda a adição de recursos de Windows modernos ao aplicativo da área de trabalho existente. Se você quiser modernizar sua cadeia de ferramentas .NET ou compilador C++, consulte GitHub Copilot modernização para .NET ou o guia de portabilidade e atualização do Microsoft C++.

Abordagens de modernização

As três abordagens de modernização são independentes. Você pode usar um, dois ou todos os três no mesmo aplicativo.

Abordagem O que isso te oferece Requer empacotamento?
WinRT APIs Acesso direto às APIs da plataforma Windows (notificações, Bluetooth, contrato de compartilhamento, sensores e muito mais) de qualquer aplicativo de área de trabalho .NET ou C++ Não, para a maioria das APIs
SDK do Aplicativo Windows Um pacote NuGet que traz recursos de desenvolvimento de Windows modernos (janelas, renderização de texto, recursos e muito mais) para aplicativos existentes Não, para a maioria dos recursos
Empacotamento MSIX Um instalador moderno com desinstalação limpa, atualizações automáticas e identidade do pacote; não requer alterações no código-fonte N/A – empacotamento é a abordagem

Tip

Comece com APIs WinRT se quiser usar uma API específica da plataforma Windows. Adicione o SDK do Aplicativo Windows quando precisar de seus recursos (DWriteCore, MRT Core, janelas). Adicione o empacotamento MSIX quando precisar da identidade do pacote ou quiser modernizar o instalador.

WinRT APIs

as APIs do Windows Runtime (WinRT) expõem Windows recursos da plataforma, como notificações de aplicativo, contrato de compartilhamento, Bluetooth e muito mais. Você pode chamar essas APIs diretamente de aplicativos WPF, Windows Forms e C++ Win32.

SDK de Aplicativos Windows

O SDK do Aplicativo Windows fornece recursos de desenvolvimento de Windows modernos como um pacote NuGet que você adiciona ao seu projeto existente. Você não precisa alterar sua estrutura de interface do usuário.

Empacotamento MSIX e identidade do pacote

O empacotamento MSIX substitui o instalador existente e fornece a identidade do pacote do aplicativo. Alguns recursos de Windows – incluindo tarefas em segundo plano, tarefas de inicialização, associações de arquivos e Windows AI Foundry – exigem a identidade do pacote em runtime. Se você quiser manter o instalador existente, ainda poderá atribuir uma identidade de pacote sem um empacotamento MSIX completo — uma abordagem às vezes chamada empacotamento com localização externa ou pacote esparso.

Pontos de partida específicos para cada framework

A tabela a seguir lista o ponto de partida recomendado para cada estrutura de aplicativo da área de trabalho.

Sua estrutura Ponto de partida recomendado
WPF Usar o SDK de Aplicativos do Windows em um projeto existente
Windows Forms Usar o SDK de Aplicativos do Windows em um projeto existente
C++ Win32 Usar o SDK de Aplicativos do Windows em um projeto existente
C++/WinRT APIs do WinRT para aplicativos da área de trabalho

Catálogo de recursos para modernização de aplicativo para desktop

As tabelas a seguir listam os recursos comuns de modernização e se cada uma delas requer a SDK do Aplicativo Windows ou a identidade do pacote.

IA

Característica SDK do Aplicativo Windows necessário? Identidade do pacote é necessária?
Windows AI Foundry No Yes

Interface do usuário e texto

Característica SDK do Aplicativo Windows necessário? Identidade do pacote é necessária?
Componentes do WinUI 3 em um aplicativo da área de trabalho Yes No
Renderizar texto com o DWriteCore Yes No
Aplicar Mica ou Acrílico a aplicativos Win32 No No
Aplicar bordas arredondadas No No
Aplicar temas Windows No No

Ciclo de vida do aplicativo

Característica SDK do Aplicativo Windows necessário? Identidade do pacote é necessária?
Tarefas em segundo plano (SDK do Aplicativo Windows) Yes Yes
Tarefas de inicialização No Yes

Integração do Windows

Característica SDK do Aplicativo Windows necessário? Identidade do pacote é necessária?
Integração de planilha de compartilhamento No No
API de pessoas entre dispositivos No No
Associações de arquivos No Yes
Widgets Windows No Yes

Segurança

Característica SDK do Aplicativo Windows necessário? Identidade do pacote é necessária?
Cofre de credenciais No No
OAuth 2.0 No No
Biometria por impressão digital No No
Cartões inteligentes No No
Criptografia No No

Resources

Característica SDK do Aplicativo Windows necessário? Identidade do pacote é necessária?
Gerenciamento de recursos do MRT Core Yes No

Para obter a lista completa de recursos da plataforma disponíveis em aplicativos da área de trabalho, consulte Windows visão geral da plataforma de aplicativos.

Modernização assistida por IA

O agente de modernização do GitHub Copilot pode analisar sua solução de área de trabalho e gerar solicitações de pull que adicionam recursos de Windows modernos ou atualizam seu aplicativo para uma versão mais recente do .NET. Para obter detalhes, consulte a modernização assistida por IA.