Funcionalidades modernas do Windows para aplicações de ambiente de trabalho

Não precisa de reescrever a sua aplicação WPF, Windows Forms ou Win32 para tirar partido das funcionalidades modernas do Windows. O SDK de Aplicações Windows e a plataforma mais ampla do Windows oferecem capacidades modulares que pode adotar de forma incremental, ao seu próprio ritmo.

Este artigo apresenta três abordagens independentes de modernização — chamar APIs do Windows Runtime (WinRT), adicionar o SDK de Aplicações Windows e adotar a embalagem MSIX — para que possa decidir que funcionalidades adicionar e por onde começar com base no framework da sua aplicação.

Migração do framework UI para WinUI 3

Se o seu objetivo é modernizar totalmente a camada de interface da sua aplicação, recomendamos migrar para o WinUI 3 — a framework nativa de interface para aplicações de desktop Windows. Veja Criar a sua primeira aplicação WinUI 3 para começar.

Se quiser adicionar funcionalidades do Windows ao seu framework de aplicações existente (WPF, Windows Forms ou C++ Win32) sem alterar a sua camada de interface, use uma das abordagens de modernização descritas neste artigo.

Note

Este artigo aborda a adição de funcionalidades modernas do Windows à sua aplicação de ambiente de trabalho existente. Se quiseres modernizar a tua cadeia de ferramentas .NET ou compilador C++, vê o GitHub Copilot modernization for .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. Pode usar um, dois ou os três na mesma aplicação.

Approach O que isto lhe proporciona Requer embalagem?
APIs do WinRT Acesso direto às APIs da plataforma Windows (notificações, Bluetooth, contrato de partilha, sensores e mais) a partir de qualquer aplicação de ambiente de trabalho .NET ou C++ Não, para a maioria das APIs
SDK de aplicativos do Windows Um pacote NuGet que traz funcionalidades modernas de desenvolvimento Windows (janelas, renderização de texto, recursos e mais) para aplicações existentes Não, para a maioria das funcionalidades
Embalagem MSIX Um instalador moderno com desinstalação limpa, atualizações automáticas e identidade de pacote; não requer alterações ao código-fonte N/A — a embalagem constitui a abordagem

Sugestão

Comece pelas APIs do WinRT se quiser chamar uma API específica da plataforma Windows. Adiciona o SDK de Aplicações Windows quando precisares das suas funcionalidades (DWriteCore, MRT Core, janelas). Adicione a embalagem MSIX quando precisar de identidade de pacote ou quiser modernizar o seu instalador.

WinRT APIs

As APIs do Windows Runtime (WinRT) expõem funcionalidades da plataforma Windows, como notificações de aplicações, o contrato de partilha, Bluetooth e mais. Pode chamar estas APIs diretamente a partir do WPF, Windows Forms e aplicações Win32 em C++.

SDK de aplicativos do Windows

O SDK de Aplicações Windows oferece funcionalidades modernas de desenvolvimento Windows como um pacote NuGet que adiciona ao seu projeto existente. Não precisas de mudar o framework da interface.

Empacotamento MSIX e identidade da embalagem

A embalagem MSIX substitui o seu instalador existente e dá identidade ao pacote da sua aplicação. Algumas funcionalidades do Windows — incluindo tarefas em segundo plano, tarefas de arranque, associações de ficheiros e o Windows AI Foundry — exigem identidade de pacote em tempo de execução. Se quiser manter o seu instalador atual, pode ainda atribuir uma identidade de pacote sem empacotamento completo em MSIX — uma abordagem por vezes designada por empacotamento com local externo ou pacote esparso.

Pontos de partida específicos de cada framework

A tabela seguinte lista o ponto de partida recomendado para cada framework de aplicação de ambiente de trabalho.

A sua estrutura Ponto de partida recomendado
WPF Utiliza o SDK de Aplicações Windows num projeto existente
Formulários do Windows Utiliza o SDK de Aplicações Windows num projeto existente
C++ Win32 Utiliza o SDK de Aplicações Windows num projeto existente
C++/WinRT APIs WinRT para aplicações de ambiente de trabalho

Catálogo de funcionalidades para modernização de aplicações de ambiente de trabalho

As tabelas seguintes listam as funcionalidades comuns de modernização e se cada uma requer o SDK de Aplicações Windows ou a identidade do pacote.

IA

Característica É necessário SDK de Aplicações Windows? É necessário um identificador do pacote?
Fundição de IA do Windows No Yes

UI e texto

Característica É necessário SDK de Aplicações Windows? É necessário um identificador do pacote?
Componentes WinUI 3 numa aplicação de ambiente de trabalho Yes No
Renderizar texto utilizando DWriteCore Yes No
Aplica Mica ou Acrílico nas aplicações Win32 No No
Aplicar cantos arredondados No No
Aplicar temas do Windows No No

Ciclo de vida do aplicativo

Característica É necessário SDK de Aplicações Windows? É necessário um identificador do pacote?
Tarefas em segundo plano (SDK de Aplicações Windows) Yes Yes
Tarefas de arranque No Yes

Integração com Windows

Característica É necessário SDK de Aplicações Windows? É necessário um identificador do pacote?
Integração com o painel de partilha No No
API de Dados Pessoais Entre Dispositivos No No
Associações de ficheiros No Yes
Widgets do Windows No Yes

Segurança

Característica É necessário SDK de Aplicações Windows? É necessário um identificador do pacote?
Cofre de credenciais No No
OAuth 2.0 No No
Biometria de impressões digitais No No
Cartões inteligentes No No
Criptografia No No

Resources

Característica É necessário SDK de Aplicações Windows? É necessário um identificador do pacote?
Gestão de recursos centrais do MRT Yes No

Para a lista completa de funcionalidades da plataforma disponíveis nas aplicações de ambiente de trabalho, consulte a visão geral da plataforma de aplicações Windows.

Modernização assistida por IA

O agente de modernização do GitHub Copilot pode analisar a sua solução de ambiente de trabalho e gerar pull requests que adicionam funcionalidades modernas do Windows ou atualizam a sua aplicação para uma versão mais recente .NET. Para mais detalhes, veja modernização assistida por IA.