Perguntas Frequentes sobre o Desenvolvimento de Aplicativos para Windows

Essas perguntas frequentes fornecem respostas para perguntas comuns sobre Windows desenvolvimento de aplicativos, incluindo diretrizes sobre como escolher a estrutura certa para seus projetos. Os tópicos abordados incluem:

  • Introdução e o cenário de desenvolvimento de aplicativos Windows.
  • Desenvolvimento de aplicativos nativos somente Windows com WinUI 3, Windows Presentation Foundation (WPF) e Windows Forms (WinForms).
  • Windows SDK (Software Development Kit) e SDK do Aplicativo Windows.
  • Focar no Windows como parte de sua estratégia de desenvolvimento multiplataforma.
  • Desenvolvimento de aplicativos Web e híbridos com .NET MAUI, Blazor e ASP.NET Core.
  • Como escolher uma abordagem ao entender os investimentos da Microsoft.

Cenário de desenvolvimento de aplicativos para Windows

Em lugares em que posso encontrar uma visão geral simples das tecnologias de desenvolvimento Windows?

Para uma ótima revisão das opções de hoje para desenvolvedores Windows, assista ao episódio mais recente do Windows Dev Chat, Escolhendo sua plataforma de desenvolvimento ideal, em que eles discutem WinUI, .NET MAUI, React Native, Blazor e Progressive Aplicativos Web (PWAs).

Você também pode consultar o overview das opções de desenvolvimento de aplicativos para desenvolvedores Windows.

Por que o desenvolvimento de aplicativos cliente ainda é crucial para a transformação digital moderna na era do cloud services?

Na era do cloud services, o desenvolvimento de aplicativos cliente continua sendo um componente crítico da transformação digital moderna. Para os desenvolvedores, a criação de aplicativos cliente é essencial não apenas para o alcance, mas para fornecer interações responsivas e significativas em dispositivos de usuário.

Veja por que os aplicativos cliente importam:

  • Device Reach: Com mais de 1,5 bilhão de dispositivos Windows e mais de 5 bilhões de dispositivos Android e iOS globalmente, os aplicativos cliente permitem que você traga seus aplicativos diretamente aos usuários em seus dispositivos de escolha.
  • Gateway para Serviços Inteligentes: aplicativos de cliente geralmente são a primeira interação que os usuários têm com os seus serviços. Eles oferecem uma interface avançada e interativa que permite que você mostre recursos inteligentes e diferencie seu produto de outras pessoas.
  • Escalabilidade com Integração na Nuvem: Um aplicativo cliente bem integrado pode sincronizar sem esforço com serviços de back-end na nuvem, permitindo acesso a dados em tempo real e escalabilidade sem interrupções à medida que sua base de usuários cresce.
  • Produtividade Aprimorada e Fidelidade do Usuário: Um aplicativo cuidadosamente projetado pode aumentar a produtividade e manter os usuários envolvidos com seu produto ou serviço ao longo do tempo.

Desenvolvimento de aplicativos nativos somente para Windows

O que é o SDK do Aplicativo Windows?

O SDK do Aplicativo Windows é uma plataforma de desenvolvimento de aplicativos Windows que permite criar aplicativos de área de trabalho bonitos, modernos e compatíveis com versões anteriores (até Windows 10 1809). WinUI é a estrutura de interface do usuário que é fornecida com SDK do Aplicativo Windows.

O que é a diferença entre o SDK do Aplicativo Windows e o SDK do Windows?

Ambos são SDKs (kits de desenvolvimento de software) que permitem criar Windows aplicativos.

O SDK do Aplicativo Windows é uma nova plataforma de desenvolvimento que permite criar aplicativos de área de trabalho modernos que podem ser instalados em versões Windows (até Windows 10 1809). Ao criar com SDK do Aplicativo Windows, os recursos mais recentes da plataforma de desenvolvimento Windows estão disponíveis. O SDK do Aplicativo Windows inclui o WinUI.

O SDK Windows é uma plataforma de desenvolvimento que permite criar aplicativos UWP e aplicativos Win32/desktop. Ele foi projetado em torno de APIs Windows que estão acopladas a versões específicas do sistema operacional.

A SDK do Aplicativo Windows não substitui o SDK Windows. Em vez disso, o SDK do Aplicativo Windows complementa o SDK do Windows. Ele fornece uma abstração conveniente, independente do sistema operacional, em torno do rico catálogo de APIs do sistema operacional Windows que já estão acessíveis usando o SDK do Windows. Aplicativos criados com SDK do Aplicativo Windows ainda podem usar APIs do SDK Windows, dependendo das necessidades de funcionalidade. Com o tempo, mais funcionalidades do Windows SDK passarão para o SDK do Aplicativo Windows.

Estou criando uma nova equipe para desenvolver um aplicativo somente Windows. Por que devo optar por desenvolver com uma estrutura de Windows nativa, como WinUI, WPF ou WinForms?

Aqui estão alguns motivos para escolher uma estrutura de Windows nativa para seu aplicativo somente Windows:

  • as estruturas Performance: Native Windows são otimizadas para aproveitar o hardware Windows moderno, fornecendo experiências rápidas e responsivas do usuário.
  • Integration: Windows é fornecido com uma ampla variedade de APIs que permitem experiências sofisticadas disponíveis apenas em Windows. As estruturas nativas fornecem integração profunda com esses recursos e APIs.
  • Experiência do usuário nativa: frameworks nativos fornecem uma experiência consistente entre dispositivos Windows, garantindo que seu aplicativo tenha uma aparência e um bom funcionamento em qualquer lugar.
  • Suporte offline: As estruturas nativas dão suporte a cenários offline, permitindo que os aplicativos funcionem mesmo sem conectividade com a Internet.
  • Monetization: As estruturas nativas são mantidas e suportadas ativamente por Microsoft, garantindo o acesso às atualizações e recursos mais recentes.
Porque estrutura devo usar para aproveitar os investimentos mais recentes da Microsoft no desenvolvimento de aplicativos Windows?

Se você estiver criando um novo aplicativo somente Windows, recomendamos usar o WinUI. O WinUI é a estrutura de interface do usuário nativa mais recente para o desenvolvimento de aplicativos do Windows e foi projetada para funcionar em uma ampla gama de dispositivos Windows. Ele fornece uma estrutura de interface do usuário moderna e flexível para criar aplicativos de Windows visualmente atraentes e interativos. O WinUI faz parte do SDK do Aplicativo Windows e funciona melhor com as versões mais recentes do Windows.

Posso usar o SDK do Aplicativo Windows/WinUI no meu aplicativo Windows existente?

Observe que WinUI (uma estrutura de interface do usuário) é fornecido com o SDK do Aplicativo Windows (uma estrutura de desenvolvimento de plataforma Windows).

Geralmente, o WinUI não pode ser usado, a menos que o aplicativo esteja pronto para migrar totalmente sua estrutura de interface do usuário. Um recurso chamado XAML Islands permite hospedar conteúdo winui em outras estruturas de interface do usuário (WPF, Win32). Consulte a documentação das Ilhas XAML para obter mais informações.

Elementos do SDK do Aplicativo Windows geralmente podem ser usados em aplicativos da área de trabalho, dependendo de como o aplicativo existente foi criado. Aplicativos UWP não são suportados pelo SDK do Aplicativo Windows.

Isso significa que aplicativos WPF/MFC/WinForms podem usar APIs SDK do Aplicativo Windows não relacionadas ao WinUI. Exemplos incluem Ciclo de Vida do Aplicativo, Gerenciamento de Janelas e Notificações Toast.

Consulte Use o SDK do Aplicativo Windows em um projeto existente para obter mais informações.

Do que preciso usar Visual Studio para criar aplicativos WinUI?

Usar Visual Studio 2026 ou posterior é altamente recomendável para o desenvolvimento do WinUI. As versões mais recentes do Visual Studio oferecem recursos avançados de desenvolvimento, como Recarga Dinâmica e incluem uma carga de trabalho de WinUI que simplifica a instalação.

Outros IDEs e fluxos de trabalho podem funcionar, mas Visual Studio atualmente é o único IDE com suporte oficial para WinUI. Observe que o MSBuild é necessário para compilar projetos XAML ou WinUI.

Eu obtém um erro "Não é possível carregar a DLL 'Microsoft.ui.xaml.dll'" ao executar meu aplicativo. Como corrigi-lo?

Esse erro geralmente ocorre em cenários de aplicativo unpackaged em que o runtime SDK do Aplicativo Windows não foi instalado no computador. Experimente o seguinte:

  • Se você estiver executando um aplicativo packaged (o padrão recomendado), verifique se você está iniciando via Visual Studio com o perfil de inicialização MsixPackage selecionado (não o perfil executável sem formatação). A etapa de empacotamento MSIX instala os componentes de runtime necessários.
  • Se você estiver executando um aplicativo unpackaged, deverá instalar o SDK do Aplicativo Windows runtime separadamente antes de executar o aplicativo fora do Visual Studio.
  • Se o erro ocorrer durante o desenvolvimento, abra seu .csproj e confirme se a configuração de empacotamento corresponde ao seu modelo de implantação: para aplicativos empacotados, omita a <WindowsPackageType> propriedade (ou deixe-a no padrão) e crie/execute o pacote MSIX; para aplicativos não empacotados, defina <WindowsPackageType>None</WindowsPackageType> e verifique se você chamou Bootstrap.Initialize() na inicialização.

Consulte Implantar aplicativos que usam o SDK do Aplicativo Windows para obter mais detalhes sobre os requisitos de implantação.

Qual é a diferença entre WinUI 3 e WinUI 2 para UWP?

WinUI (anteriormente conhecida como WinUI 3) é a estrutura de interface do usuário nativa mais recente para Windows desenvolvimento de aplicativos. Ele fornece uma estrutura de interface do usuário moderna e flexível para criar aplicativos de Windows visualmente atraentes e interativos. O WinUI faz parte do SDK do Aplicativo Windows e funciona melhor com as versões mais recentes do Windows.

O WinUI para UWP (anteriormente conhecido como WinUI 2) é um conjunto de controles de interface do usuário e estilos criados com base na UWP. Ele fornece uma aparência moderna para aplicativos UWP e foi projetado para Windows 10.

Quando eu criar um aplicativo usando SDK do Aplicativo Windows e WinUI, estou criando um "aplicativo WinUI"?

Sim — "Aplicativo WinUI" é o termo recomendado. Os aplicativos WinUI são chamados de "aplicativos WinUI" porque o WinUI para UWP não é um tipo de aplicativo, mas um conjunto de componentes usados em aplicativos UWP.

Posso atualizar incrementalmente meu aplicativo UWP com WinUI para controles UWP para WinUI, substituindo gradualmente os componentes WinUI para UWP por componentes WinUI?

Não. SDK do Aplicativo Windows não pode ser usado em aplicativos UWP e o WinUI para UWP não pode ser misturado com WinUI. Consulte Migrate da UWP para o SDK do Aplicativo Windows.

Qual é a dificuldade de migrar um aplicativo UWP para o WinUI?

A migração de componentes da interface do usuário costuma ser simples (para C# e C++/WinRT). Caso contrário, o custo de migração depende principalmente de:

  1. Arquivo do projeto e personalização do MSBuild: O esforço de migração varia dependendo do uso avançado do MSBuild.
  2. .NET migração de API: aplicativos UWP usando .NET devem passar para .NET 6 ou posterior. Em muitos casos, adotar .NET 6 é simples.
  3. Bibliotecas de componentes da interface do usuário: As bibliotecas devem ter versões direcionadas ao WinUI.
  4. Se o aplicativo UWP for escrito em C++/CX, agora obsoleto, é necessário portar parte do código-fonte. Confira Migrar do C++/CX para o C++/WinRT.

Para obter mais informações, consulte Migrate da UWP para o SDK do Aplicativo Windows.

Se eu tiver um aplicativo UWP existente na Loja, posso publicar um novo aplicativo WinUI empacotado usando os mesmos identificadores?

Sim, os aplicativos atualizados podem ser publicados sem atualizar a identidade do aplicativo. Os usuários da versão antiga serão atualizados para a nova versão. Isso se aplica somente a aplicativos de desktop. Xbox, HoloLens e aplicativos do Hub Surface não podem migrar para o WinUI.

Como eu empacoto/distribuo meu aplicativo WinUI?

Confira Visão geral da implantação.

Onde posso encontrar as diretrizes de migração do SDK do Aplicativo Windows?

Consulte Migrate da UWP para o SDK do Aplicativo Windows.

Preciso usar a marcação XAML se quiser usar o WinUI?

Não. Os controles de interface do usuário podem ser criados no código. No entanto, representar a interface do usuário na marcação XAML declarativa oferece muitos benefícios, incluindo uma experiência de desenvolvedor aprimorada.

  • Migrando de UWP para WinUI: muitos componentes XAML e interface do usuário podem ser reutilizados, embora alguns ajustes de sintaxe sejam necessários.
  • Migrando de WPF para WinUI: muitos conceitos são transferidos, mas o conjunto de controle e as APIs diferem.
O Visual Studio tem uma superfície de design/designer de interface do usuário para WinUI?

Ainda não. Essa é uma lacuna conhecida na experiência do desenvolvedor do WinUI. Ferramentas como XAML Recarga Dinâmica podem ajudar em muitos cenários. O trabalho começou em um designer de UI do Visual Studio para WinUI no SDK do Aplicativo Windows 1.7, mas ainda não há uma linha do tempo para seu lançamento.

Does SDK do Aplicativo Windows incluem WinUI?

Sim. O WinUI é fornecido como parte do SDK do Aplicativo Windows.

O SDK do Aplicativo Windows inclui WinUI para UWP?

Não. O WinUI para UWP faz parte da plataforma UWP.

O WinUI para UWP e WinUI é criado com base na mesma tecnologia?

Não exatamente. Embora o WinUI tenha iniciado originalmente a partir da base de código do WinUI para UWP, elas são tecnologias distintas. Ambas são estruturas de interface do usuário baseadas em XAML que funcionam entre .NET e C++, mas o WinUI para UWP e WinUI não são compatíveis entre si.

Não posso usar WinUI sem usar SDK do Aplicativo Windows?

Não. O WinUI é fornecido como parte do SDK do Aplicativo Windows.

Posso usar o WinUI em um aplicativo não empacotado?

Sim. Todas as tecnologias no SDK do Aplicativo Windows, incluindo o WinUI, funcionam em aplicativos não empacotados.

Qual é a diferença entre ilhas XAML e WinUI?

As Ilhas XAML permitem hospedar controles modernos baseados em XAML juntamente com a UI do Win32 existente de outros frameworks, como WinForms e WPF.

Hoje, as Ilhas XAML dão suporte à maioria dos controles XAML e WinUI do sistema para UWP. Consulte os controles XAML do Host WinRT em aplicativos da área de trabalho (Ilhas XAML) para obter mais detalhes. O suporte para hospedar controles WinUI está disponível a partir de SDK do Aplicativo Windows 1.4.

Se eu criar um aplicativo WinUI, ele parecerá moderno em Windows 11 e Windows 10?

Sim. A interface do usuário do aplicativo herdará os princípios mais recentes de design da interface do usuário fluente em todas as versões com suporte de Windows 11 e Windows 10, até a versão 1809, em cenários empacotados e não empacotados.

Posso usar planos de fundo Mica ou Acrílico em aplicativos criados com SDK do Aplicativo Windows?

Sim. Consulte Aplicar Mica ou Materiais Acrílicos em Aplicativos de Desktop para Windows 11.

Onde posso encontrar exemplos do WinUI?

Consulte Exemplo e recursos. Alguns repositórios de destaque:

Se eu já tiver investido pesado em WPF, devo continuar a usar WPF ou considerar a migração para WinUI?

Se você já investiu pesado em WPF, pode continuar usando-o para aplicativos existentes. WPF é uma estrutura madura e estável amplamente usada para criar Windows aplicativos da área de trabalho.

Considere usar o .NET Upgrade Assistant para migrar aplicativos do WPF .NET Framework para a plataforma de .NET mais recente. Ele analisa sua base de código e fornece diretrizes sobre como atualizá-la.

Se eu criar um novo aplicativo WPF, ele parecerá datado em comparação com outros novos aplicativos Windows?

Ao desenvolver um aplicativo WPF com .NET 9 ou posterior, você pode garantir que seu aplicativo corresponda à aparência elegante e moderna de Windows 11. O novo tema fluente para WPF apresenta uma estética Windows 11 contemporânea, com suporte integrado ao modo Claro/Escuro e à cor de destaque do sistema. Isso moderniza a aparência do aplicativo e oferece uma experiência de usuário polida e coesa.

Minha equipe está confortável criando aplicativos WinForms e atende às nossas necessidades. Devemos considerar a migração para o WinUI ou outra estrutura?

Se o WinForms atender às suas necessidades e sua equipe estiver confortável com isso, você poderá continuar usando WinForms para aplicativos existentes. A estrutura WinForms é madura e estável, amplamente usada para o desenvolvimento de aplicativos de desktop para Windows.

A equipe do WinForms continua investindo na plataforma. Algumas áreas atuais de investimento incluem:

  • Suporte assíncrono para controles comuns
  • Modo escuro
  • Flexibilidade de layout
  • Recursos de segurança da área de trabalho, como acesso à área de transferência

Desenvolvimento nativo multiplataforma

Quais são alguns motivos para criar aplicativos nativos, que funcionam em várias plataformas, direcionados para Windows?

Se você estiver direcionando usuários em várias plataformas de sistema operacional, a criação de aplicativos multiplataforma com .NET MAUI ou React Native pode oferecer vários benefícios:

  • Chegar: Os aplicativos multiplataforma atingem um público-alvo maior em diferentes dispositivos e sistemas operacionais.
  • Reutilização de código: Reutilização de código entre plataformas reduz o tempo e o custo de desenvolvimento. Criar aplicativos separados para Windows, Android, iOS e macOS pode ser proibitivamente caro.
  • Experiência consistente do usuário: As estruturas multiplataforma ajudam a fornecer uma aparência consistente entre plataformas.
  • Integração: Aplicativos multiplataforma ainda podem se integrar a serviços específicos da plataforma para oferecer uma experiência abrangente.
Não posso ter certeza de que .NET MAUI aplicativos serão executados bem em Windows?

Quando você cria um aplicativo .NET MAUI para Windows, a saída é um aplicativo WinUI. Durante o desenvolvimento, .NET MAUI oferece uma única experiência de .NET através de plataformas, mas gera código específico da plataforma nos bastidores. Isso garante que .NET MAUI aplicativos tenha um bom desempenho em cada plataforma e forneça uma experiência de usuário nativa.

Como o .NET MAUI pode fornecer APIs de dispositivo nativo em cada plataforma?

.NET MAUI fornece uma experiência de .NET unificada em Windows, iOS, Android e macOS. Ele abstrai mais de 60 APIs específicas da plataforma em um único conjunto de API multiplataforma, abrangendo áreas como storage, rede e sensores de dispositivo. APIs adicionais específicas da plataforma também podem ser acessadas usando a injeção de dependência para fornecer implementações especializadas por plataforma.

Posso começar com o WinUI e, posteriormente, integrar o .NET MAUI se eventualmente eu quiser abordar cenários multiplataforma?

Não neste momento. Embora o .NET MAUI use o WinUI ao ser executado no Windows, as equipes que desejam direcionar múltiplas plataformas devem começar com o .NET MAUI ou com o React Native for Desktop.

Nossa equipe tem fortes habilidades de desenvolvimento de front-end na Web. Devemos considerar o uso do React Native para Área de Trabalho?

Equipes com forte experiência de desenvolvimento na Web podem querer considerar o React Native para Área de Trabalho. Ele inclui o React Native para Windows e macOS. Com a abordagem "Aprender uma vez, escrever em qualquer lugar", as habilidades existentes de JavaScript, TypeScript e React podem ser usadas para criar aplicativos nativos de Windows e macOS.

O React Native for Desktop renderiza a interface do usuário diretamente para primitivos nativos, fornecendo recursos nativos de desempenho e plataforma.

Consulte a documentação React Native for Desktop para começar.

Há algum outro dispositivo Windows com suporte do React Native for Desktop?

Os aplicativos React Native podem ser implantados em todos os dispositivos compatíveis com Windows 10 e posteriores, incluindo computadores, tablets, 2 em 1s, Xbox e dispositivos de realidade misturada.

O que devo usar se quiser criar aplicativos que funcionam em Windows e Xbox?

Se o aplicativo precisar dar suporte a Xbox, HoloLens ou IoT, a UWP será recomendada. SDK do Aplicativo Windows não dá suporte a essas plataformas. Para desenvolvimento de jogos, use o kit de desenvolvimento de jogos da Microsoft.

O que devo usar se quiser criar aplicativos que funcionam no hub Windows e Surface?

Se você estiver focando tanto no Windows quanto no Surface Hub, a UWP é recomendada.

Desenvolvimento híbrido e web

O que são aplicativos híbridos e por que devo considerar a criação de um?

Os aplicativos híbridos combinam o melhor do desenvolvimento de aplicativos web e nativos. Seu núcleo é criado usando tecnologias web como HTML, CSS e JavaScript e encapsulado em um contêiner nativo que fornece access a determinados recursos e hardware de plataforma nativa. Eles também podem ser distribuídos por meio de lojas de aplicativos.

A principal vantagem é que os aplicativos híbridos permitem que você crie um único aplicativo que possa ser executado em várias plataformas nativas e na Web, reduzindo o tempo e o custo de desenvolvimento. Exemplos de plataformas de desenvolvimento de aplicativos híbridos incluem:

  • Electron para aplicativos da área de trabalho
  • Ionic para aplicativos móveis
  • .NET MAUI Blazor Hybrid para aplicativos multiplataforma
Como eu posso criar aplicativos web progressivos (PWAs) com aparência nativa no Windows?

Consulte Desenvolvimento Web no Windows e Visão geral dos Aplicativos Web Progressivos.

O que é um aplicativo híbrido .NET MAUI Blazor?

Com .NET MAUI, os aplicativos Blazor podem ser executados nativamente em Windows, iOS, Android e macOS. Isso permite que você crie aplicativos cliente híbridos que combinam o Blazor e .NET MAUI componentes em um único aplicativo cliente nativo, com acesso total aos recursos de plataforma nativa.

Saiba mais em ASP.NET Core Blazor Hybrid.

Os componentes web de um aplicativo híbrido .NET MAUI precisam ser criados com Blazor?

Não. A partir do .NET 9, .NET MAUI inclui um controle HybridWebView que permite hospedar outras interfaces do usuário baseadas em JavaScript dentro de um aplicativo nativo.

Isso permite hospedar aplicativos Angular, React, Vue ou outros aplicativos HTML/JavaScript dentro de um aplicativo .NET MAUI. O controle híbrido fornece interoperabilidade entre C# e JavaScript, de modo que o código C# pode chamar funções JavaScript e vice-versa.

Algum outro tipo de aplicativo nativo pode hospedar componentes híbridos Blazor?

Sim. WPF e aplicativos WinForms também podem hospedar componentes híbridos Blazor, permitindo a adição de moderna interface do usuário da Web a aplicativos existentes. Não há suporte para aplicativos WPF ou WinForms criados no .NET Framework.

Meu aplicativo inteiro precisa ser um aplicativo híbrido ou posso misturar componentes nativos e híbridos?

Componentes nativos e híbridos podem ser misturados em um aplicativo. Por exemplo, o núcleo de um aplicativo pode ser criado com componentes .NET MAUI enquanto os componentes híbridos fornecem funcionalidade adicional. Isso permite combinar o desempenho e os recursos de componentes nativos com a flexibilidade e a eficiência de custo dos componentes híbridos.

O que são minhas opções para criar aplicativos Web baseados em .NET que ficam ótimos em navegadores modernos no Windows?

Web apps oferecem o maior alcance de qualquer plataforma de aplicativo cliente. As opções para criar belos aplicativos Web .NET incluem:

  • Aplicativos ASP.NET Core com Razor Pages
  • Aplicativos ASP.NET Core MVC
  • Aplicativos ASP.NET Core Blazor, com opções de modelos de hospedagem:
    • WebAssembly Blazor
    • Blazor Server

Os modelos de hospedagem blazor agora podem ser configurados no nível do componente, permitindo cenários como hospedar um componente Blazor WebAssembly em um aplicativo Blazor Server.

Consulte a documentação ASP.NET Core para obter mais detalhes.

Escolha uma abordagem e entenda os investimentos da Microsoft

Há tantas opções de frameworks para criar aplicativos voltados para Windows! Como faço para decidir?

Windows é uma plataforma aberta que dá suporte a muitas tecnologias. Aqui estão alguns critérios que podem ajudá-lo a escolher uma plataforma:

  • Você está desenvolvendo primeiramente para Windows ou para várias plataformas?
  • Quais idiomas ou habilidades você já tem : .NET, JavaScript, outra coisa?
  • Você precisa de acesso a APIs específicas de Windows?
  • Quais recursos da estrutura melhor correspondem aos requisitos do seu aplicativo?
  • Consulte esta tabela para obter fatores de comparação adicionais.

Para muitos aplicativos de negócios, as equipes geralmente escolhem com base nas habilidades existentes e no que a equipe está mais confortável usando.

Como eu escolho a melhor abordagem de desenvolvimento para meu aplicativo web?

Considere o seguinte ao escolher uma abordagem de desenvolvimento para seu aplicativo Web:

  • O Blazor é recomendado para criar aplicativos Web front-end com .NET. Ele permite que você crie o front-end e o back-end usando .NET, economizando tempo e custo, e isso é especialmente bom para aplicativos empresariais.
  • Os web apps JavaScript ainda fazem sentido se você quiser aproveitar as habilidades existentes do JavaScript ou precisar se integrar a bibliotecas ou estruturas JS estabelecidas.
  • Os aplicativos existentes que usam estruturas mais antigas, como Web Forms, MVC ou Razor Pages, permanecem com suporte e podem continuar a ser desenvolvidos e mantidos.
Quem está criando aplicativos com WinUI hoje?

Muitos clientes estão criando com o WinUI hoje, incluindo Adobe e Apple:

Microsoft também criou muitos aplicativos WinUI, como o Explorador de Arquivos Windows 11 e o aplicativo Fotos.

Quem está criando aplicativos .NET MAUI hoje?

Muitos clientes, incluindo Microsoft, estão criando aplicativos multiplataforma com .NET MAUI. Por exemplo, o aplicativo móvel Microsoft Azure é criado usando .NET MAUI.

Veja mais sobre a .NET vitrine de clientes.

Quem está desenvolvendo aplicativos WPF hoje?

A maior parte da interface do usuário Microsoft Visual Studio é criada com WPF. O Visual Studio IDE em si é um exemplo importante de um aplicativo WPF complexo e de alto desempenho.

Quem está criando aplicativos Blazor hoje?

O sistema de companhias aéreas FlightPulse da GE Digital usa Blazor para a configuração de back-end de tudo o que os pilotos veem, trazendo dados e análises do sensor diretamente aos pilotos para melhorar a segurança e a eficiência.

Veja mais histórias de clientes Blazor no site .NET.

Empacotamento, implantação e atualizações

Qual é a diferença entre aplicativos empacotados, desempacotados e empacotados com localização externa?

Para obter definições de empacotados, desempacotados e empacotados com aplicativos de localização externos, consulte a visão geral da implantação. Esse tópico também explica as vantagens e desvantagens de cada opção.

Meu aplicativo WinUI será atualizado automaticamente para usuários finais?

Um aplicativo WinUI pode ser entregue por meio da Loja, um arquivo .appinstaller ou por meio de um pacote MSI ou setup.exe existente. A Loja e o AppInstaller dão suporte a atualizações automáticas para usuários finais que têm atualizações automáticas habilitadas, mas os aplicativos MSI/setup.exe devem fornecer seu próprio mecanismo de atualização.

Não posso usar SDK do Aplicativo Windows sem usar o MSBuild?

Geralmente, não. O WinUI e o SDK do Aplicativo Windows exigem MSBuild, razão pela qual Visual Studio é um pré-requisito para desenvolver com eles. Embora tecnicamente seja possível criar SDK do Aplicativo Windows aplicativos que não usam WinUI com outras cadeias de ferramentas, isso não tem suporte.

Desempenho e otimização

O que posso fazer para fazer com que meu aplicativo Windows se sinta ótimo para os usuários finais?

Consulte Windows desenvolvimento de aplicativos – Melhores práticas e Windows visão geral do desempenho do aplicativo e conceitos básicos.

Compatibilidade

Se meus usuários precisarem atualizar Windows para usar meu aplicativo WinUI?

Usuários com Windows 10, versão 1809 ou posterior podem instalar aplicativos WinUI sem atualizar o sistema operacional.

Posso direcionar o Arm64 com meu aplicativo WinUI?

Sim.

Depreciações e migrações

A UWP/WinUI para UWP foi descontinuada?

Não. UWP e WinUI para UWP ainda têm suporte e continuam a receber correções de bug, confiabilidade e segurança. No entanto, a maioria dos novos recursos e funcionalidades são adicionados ao WinUI.

O suporte UWP para .NET 9 está disponível. Essa opção fornece um caminho de modernização para aplicativos UWP usando a versão mais recente do .NET.

As metas de .NET 9 suporte UWP são:

  1. Forneça um caminho de migração melhor para desenvolvedores que desejam migrar para o WinUI.
  2. Remova as dependências do .NET Native para que os desenvolvedores possam se beneficiar dos recursos mais recentes de .NET e C#.

Para obter mais informações, consulte a postagem no blog: Modernize seu aplicativo UWP com suporte de UWP de visualização para .NET 9 e AOT nativo.

Quando devo migrar um aplicativo UWP/WinUI para o WinUI?

Os desenvolvedores da UWP não devem se sentir pressionados a migrar se estiverem satisfeitos com a UWP e seu conjunto de recursos , para muitos aplicativos, a opção certa pode ser permanecer na UWP.

Os aplicativos que desejam se beneficiar da plataforma de Windows mais recente e dos investimentos .NET devem considerar a mudança para o SDK do Aplicativo Windows. Consulte Migrate da UWP para o SDK do Aplicativo Windows.

Quando *não* devo migrar um aplicativo UWP + WinUI para UWP para WinUI?

Continue usando a UWP se estiver criando para Xbox, Surface Hub ou HoloLens.

O WPF está obsoleto?

Não. WPF é compatível, recomendado e continua recebendo atualizações de funcionalidades. Consulte o roteiro WPF em GitHub.

O WinForms está obsoleto?

Não. O WinForms tem suporte e continua recebendo atualizações de recursos. Consulte o roteiro Windows Forms em GitHub.

O Windows Runtime (WinRT) foi descontinuado?

Não. O WinRT é uma ABI (interface binária de aplicativo) que permite interoperabilidade em vários idiomas. O WinRT é a evolução do COM e o SDK do Aplicativo Windows fornece a maior parte de sua funcionalidade por meio de APIs do WinRT.

Notas de lançamento

Onde posso encontrar notas de versão para o SDK do Aplicativo Windows?

As notas de versão mais recentes podem ser encontradas na página Novidades .