Editar

Partilhar via


Perguntas frequentes sobre desenvolvedores do Windows

Este artigo destina-se a promover uma compreensão comum da experiência de desenvolvimento do Windows e da direção do produto.

O atual cenário de desenvolvimento de aplicativos do Windows oferece uma variedade de estruturas e tecnologias para escolher. Estas perguntas frequentes fornecem orientação sobre como decidir qual estrutura usar para seus projetos de desenvolvimento de aplicativos do Windows. Abrange os seguintes tópicos:

  • Introdução e o cenário de desenvolvimento de aplicativos do Windows.
  • Desenvolvimento de aplicativos nativos somente para Windows com WinUI, Windows Presentation Foundation (WPF) e Windows Forms (WinForms).
  • O Windows Software Development Kit (SDK) e o Windows App SDK.
  • Segmentar o Windows como parte da sua estratégia de desenvolvimento multiplataforma.
  • Desenvolvimento de aplicações híbridas e web com .NET MAUI, Blazor e ASP.NET Core.
  • Como escolher uma abordagem enquanto entende os investimentos da Microsoft.

O cenário de desenvolvimento de aplicativos do Windows

Onde posso encontrar uma visão geral direta das tecnologias de desenvolvimento do Windows?

Por que o desenvolvimento de aplicativos clientes ainda é crucial para a transformação digital moderna na era dos serviços em nuvem?

Na era dos serviços em nuvem, o desenvolvimento de aplicativos clientes 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 nos dispositivos do usuário.

Veja por que os aplicativos cliente ainda são importantes:

  • Device Reach: Com mais de 1,5 mil milhões de dispositivos Windows e mais de 5 mil milhões de dispositivos Android e iOS a nível global, as aplicações cliente permitem-lhe levar as suas aplicações diretamente aos utilizadores nos dispositivos da sua escolha.
  • Gateway para Serviços Inteligentes: Os aplicativos cliente geralmente são a primeira interação que os usuários têm com seus serviços. Eles oferecem uma interface rica e interativa que permite que você exiba recursos inteligentes e diferencie seu produto dos outros.
  • escalabilidade com integração na nuvem: Um aplicativo cliente bem integrado pode sincronizar sem esforço com serviços de nuvem de back-end, permitindo acesso a dados em tempo real e escalabilidade contínua à medida que sua base de usuários cresce.
  • Maior produtividade 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 de Aplicativos Windows?

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

Qual é a diferença entre o SDK de Aplicativo do Windows e o SDK do Windows?

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

O SDK de Aplicativos Windows é uma nova plataforma de desenvolvimento que permite criar aplicativos de área de trabalho modernos que podem ser instalados em versões do Windows (até o Windows 10 1809). Ao usar o SDK de aplicativos do Windows para criar um aplicativo, você terá acesso aos recursos mais recentes da plataforma de desenvolvimento do Windows. O SDK de aplicativos do Windows inclui WinUI 3.

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

O SDK da Aplicação Windows não substitui o SDK do Windows. Em vez disso, o SDK de Aplicativos Windows é um complemento ao SDK do Windows. Ele fornece uma abstração conveniente e dissociada do sistema operacional em torno do rico catálogo de APIs do sistema operacional Windows que você já pode acessar usando o SDK do Windows. Ao criar aplicativos com o SDK de Aplicativos Windows, você pode acabar usando algumas APIs do SDK do Windows, dependendo da funcionalidade necessária. Com o tempo, mais funcionalidades do SDK do Windows serão transferidas para o SDK de Aplicativos Windows.

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

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

  • Desempenho: estruturas nativas do Windows são otimizadas para aproveitar todo o poder do hardware atual do Windows e fornecer experiências de usuário rápidas e responsivas.
  • Integração : Windows vem com grandes variedades de APIs para criar experiências sofisticadas disponíveis apenas no Windows. As estruturas nativas fornecem integração profunda com esses recursos e APIs.
  • Experiência nativa do usuário: estruturas nativas do Windows fornecem uma experiência de usuário consistente em todos os dispositivos Windows, garantindo que seu aplicativo tenha uma ótima aparência e funcione bem em todos os dispositivos Windows.
  • Suporte offline: estruturas nativas do Windows fornecem suporte para cenários offline, permitindo que seu aplicativo funcione mesmo quando o usuário não está conectado à Internet.
  • Monetização: estruturas nativas do Windows são ativamente mantidas e suportadas pela Microsoft, garantindo que você tenha acesso às atualizações e recursos mais recentes.

Qual estrutura devo usar para aproveitar os investimentos mais recentes da Microsoft no desenvolvimento de aplicativos do Windows?

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

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

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

De um modo geral, você não pode usar o WinUI a menos que esteja pronto para migrar totalmente sua estrutura de interface do usuário. Estamos trabalhando em um recurso chamado ilhas XAML que permite hospedar conteúdo WinUI em outras estruturas de interface do usuário (WPF, Win32).

Você deve ser capaz de usar elementos do SDK de aplicativos do Windows em qualquer aplicativo da área de trabalho, dependendo de como seu aplicativo existente foi criado. Os aplicativos UWP não são suportados pelo SDK de Aplicativos Windows.

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

Consulte Usar o SDK do Aplicativo Windows em uma de projeto existente para obter mais informações.

Preciso usar o Visual Studio para criar aplicativos WinUI?

É altamente recomendável usar o Visual Studio 2022 versões 17.10 e superiores para desenvolver aplicativos WinUI. Usar a versão mais recente do Visual Studio lhe dará acesso a recursos de desenvolvimento avançados, como o Hot Reload. Os instaladores mais recentes do Visual Studio incluem um o desenvolvimento de aplicativos do Windows a carga de trabalho, facilitando a introdução ao desenvolvimento do WinUI.

Você pode usar outros IDEs e fluxos de trabalho de desenvolvimento, mas Visual Studio é atualmente o único IDE oficialmente suportado para WinUI. Observe que MSBuild é necessário para compilar projetos que usam XAML ou WinUI.

Quando crio um aplicativo usando o SDK de Aplicativos Windows e a WinUI 3, estou criando um "aplicativo WinUI"?

Sim - "WinUI app" é o termo que recomendamos que você use. Os aplicativos WinUI 3 são geralmente chamados de "aplicativos WinUI", pois WinUI 2 não é um tipo de aplicativo, mas um conjunto de componentes que podem ser usados em aplicativos UWP.

Posso atualizar incrementalmente meu aplicativo UWP com controles WinUI 2 para WinUI 3 substituindo gradualmente componentes WinUI 2 por componentes WinUI 3?

Não. O SDK de Aplicativo Windows não pode ser usado em aplicativos UWP e a WinUI 2 não pode ser misturada com a WinUI 3. Consulte Migrar da UWP para o SDK do Aplicativo Windows.

É difícil migrar um aplicativo UWP para o WinUI?

A migração de componentes da interface do usuário geralmente é simples (para C# e C++/WinRT). Caso contrário, o custo de migração da UWP para a WinUI dependerá principalmente destes fatores:

  1. arquivo de projeto e personalização do MSBuild: Migrar seu projeto pode exigir um nível significativo de esforço, dependendo se você usa recursos avançados do MSBuild.
  2. migração da API .NET: Se seu aplicativo UWP depender do .NET, você precisará atualizar para o .NET 6 ou posterior. Na maioria dos casos, adotar o .NET 6 é simples.
  3. bibliotecas de componentes da interface do usuário: Se você usar bibliotecas de componentes da interface do usuário, precisará de novas versões delas destinadas à WinUI 3.
  4. Se o código-fonte da UWP estiver escrito no C++/CX agora substituído, alguma portabilidade do código-fonte estará envolvida. Consulte Mover para C++/WinRT a partir de C++/CX.

Para obter mais informações sobre a migração UWP, consulte Migrar 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, as aplicações atualizadas podem ser publicadas sem ter de atualizar a identidade da sua aplicação. Os usuários que têm a versão antiga serão atualizados para a nova versão. Estas orientações aplicam-se apenas a aplicações de ambiente de trabalho. As aplicações Xbox, HoloLens e Surface Hub não podem migrar para a WinUI.

Como faço para empacotar/distribuir meu aplicativo WinUI?

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

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

Não. Os controles de interface do usuário podem ser criados em código. Mas há muitos benefícios em representar sua interface de usuário WinUI na forma de marcação XAML declarativa, como experiência de desenvolvedor aprimorada.

Se você estiver migrando da UWP para a WinUI, provavelmente poderá reutilizar grande parte da marcação XAML e do código relacionado à interface do usuário (mas terá que atualizar parte da sintaxe). Se você estiver migrando do WPF para o WinUI, poderá reutilizar muitos dos conceitos, mas o conjunto de controle e as APIs serão diferentes.

O Visual Studio tem uma superfície de design / designer de interface do usuário para WinUI?

Ainda não. Reconhecemos que essa é uma lacuna na experiência do desenvolvedor WinUI. Ferramentas como XAML Hot Reload podem ajudar em muitos cenários. Work começou a em um designer de interface do usuário do Visual Studio para WinUI no Windows App SDK 1.7, mas ainda não há um cronograma para o lançamento desse recurso.

O SDK de aplicativos do Windows inclui a WinUI 3?

Sim. WinUI 3 é fornecido como parte do Windows App SDK.

O SDK do Aplicativo Windows inclui a WinUI 2?

Não. WinUI 2 faz parte da plataforma UWP.

WinUI 2 e WinUI 3 são construídos sobre a mesma tecnologia?

Não exatamente. Embora o WinUI 3 tenha começado a partir da base de código do WinUI 2, eles são tecnologias distintas. Tanto a WinUI 2 quanto a WinUI 3 são estruturas de interface do usuário baseadas em XAML que funcionam em .NET e C++. Observe que WinUI 2 e WinUI 3 não são compatíveis entre si.

Posso usar o WinUI 3 sem usar o Windows App SDK?

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

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

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

Qual é a diferença entre Ilhas XAML e WinUI 3?

As Ilhas XAML permitem que você hospede controles WinUI modernos ao lado da interface do usuário Win32 existente de outras estruturas, como WinForms e WPF. Atualmente, as Ilhas XAML são suportadas com controles XAML e WinUI 2 do sistema mais. Consulte controles XAML do Host WinRT em aplicativos da área de trabalho (Ilhas XAML) para obter mais informações. O suporte de Ilhas XAML para controles WinUI 3 está disponível a partir de SDK de Aplicativo Windows 1.4.

Se eu criar um aplicativo WinUI, ele terá uma aparência moderna no Windows 11 e no Windows 10?

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

Posso usar fundos Mica ou acrílico em aplicativos criados com o SDK de aplicativos do Windows?

Onde posso encontrar exemplos do WinUI?

Consulte Exemplo e recursos. Alguns repositórios notáveis:

Se eu já investi muito no WPF, devo continuar a usar o WPF ou devo considerar migrar para o WinUI?

Se você já investiu pesado no WPF, você pode continuar a usar o WPF para seus aplicativos existentes. WPF é uma estrutura madura e estável que é amplamente utilizada por desenvolvedores para criar aplicativos de área de trabalho do Windows.

Considere aproveitar o do Assistente de Atualização do .NET do para migrar seus aplicativos WPF do .NET Framework para a plataforma .NET mais recente. O Assistente de Atualização do .NET é uma ferramenta que ajuda você a migrar seus aplicativos do .NET Framework para as versões mais recentes com suporte do .NET. O .NET Upgrade Assistant analisa sua base de código existente e fornece orientação sobre como atualizar seu código.

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

Ao desenvolver um aplicativo WPF com .NET 9 ou posterior, você pode garantir que seu aplicativo corresponda à aparência elegante e moderna do Windows 11. O novo tema Fluent para WPF introduz uma estética contemporânea do Windows 11 para aplicativos WPF, completo com modo claro / escuro integrado e suporte a cores de destaque do sistema. Esta atualização não só moderniza a aparência do seu aplicativo, mas também melhora o envolvimento do usuário, fornecendo uma experiência de usuário polida e coesa.

Minha equipe está confortável criando aplicativos WinForms, e isso atende às nossas necessidades. Devemos considerar migrar para WinUI ou outra estrutura?

Se sua equipe estiver confortável em criar aplicativos WinForms e o WindForms atender às suas necessidades, você poderá continuar a usar o WinForms para seus aplicativos existentes. WinForms é uma estrutura madura e estável que é amplamente utilizada por desenvolvedores para criar aplicativos de área de trabalho do Windows.

A equipe do WinForms está investindo em recursos e tem uma comunidade ativa de contribuidores. Algumas áreas de investimento atuais incluem:

  • Suporte assíncrono com 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 algumas razões para criar aplicativos nativos entre plataformas que visam o Windows?

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

  • Reach: A criação de aplicativos multiplataforma permite que você alcance um público maior de usuários em diferentes plataformas.
  • Reutilização de código: A criação de aplicativos multiplataforma permite reutilizar o código em diferentes plataformas, reduzindo o tempo e os custos de desenvolvimento. Pode ser proibitivamente caro criar aplicativos separados para Windows, iOS, Android, macOS, etc.
  • Experiência de usuário consistente: A criação de aplicativos multiplataforma permite que você forneça uma experiência de usuário consistente em diferentes plataformas, garantindo que seu aplicativo tenha uma ótima aparência e funcione bem em todos os dispositivos.
  • Integração : A criação de aplicativos multiplataforma permite que você se integre a diferentes plataformas e serviços, permitindo que você forneça uma experiência de usuário mais abrangente.

Posso ter certeza de que os aplicativos .NET MAUI funcionarão bem no Windows?

Quando você cria um aplicativo .NET MAUI para Windows, sua saída é um aplicativo WinUI. Durante o desenvolvimento, o .NET MAUI fornece uma única experiência .NET em todas as plataformas, incluindo o Windows, mas sob o capô, ele gera código específico da plataforma. Isso garante que seu aplicativo .NET MAUI seja executado bem em cada plataforma e forneça uma experiência de usuário nativa.

Como o .NET MAUI pode fornecer APIs de dispositivo nativo em todas as plataformas?

O .NET MAUI oferece uma única experiência .NET em todas as plataformas, incluindo Windows, iOS, Android e macOS. O .NET MAUI abstrai mais de 60 APIs específicas da plataforma em uma única API multiplataforma que você pode usar em seu aplicativo .NET MAUI. Essas APIs abrangem o acesso ao armazenamento, rede, sensores específicos do dispositivo e muito mais. Se necessário, você também pode acessar APIs adicionais específicas da plataforma usando injeção de dependência para abstrair o código de cada plataforma.

Posso começar com o WinUI e, posteriormente, integrar o .NET MAUI se eventualmente quiser segmentar cenários entre plataformas?

Neste momento, não. Embora os aplicativos .NET MAUI usem WinUI quando executados no Windows, recomendamos começar com o .NET MAUI ou o React Native for Desktop se você antecipar a necessidade de direcionar várias plataformas.

Nossa equipe tem fortes habilidades de desenvolvimento front-end web. Devemos considerar o uso do React Native for Desktop?

Se sua equipe tem fortes habilidades de desenvolvimento web, você pode considerar o uso do React Native for Desktop. O React Native for Desktop engloba o React Native para estruturas Windows e macOS. O lema do React Native é "Aprenda uma vez, escreva em qualquer lugar", o que significa que você pode usar suas habilidades de desenvolvimento da Web existentes para criar aplicativos nativos do Windows usando o React Native. React Native for Desktop é um projeto de código aberto que permite criar aplicativos nativos do Windows e macOS usando o React Native. O React Native for Desktop fornece um conjunto de APIs que permitem que você acesse recursos e capacidades específicos do sistema operacional da área de trabalho em seus aplicativos React Native.

Sua equipe pode aproveitar suas habilidades de JavaScript, TypeScript e React para criar a camada da interface do usuário, que é renderizada diretamente para primitivos nativos. Isso fornece desempenho de aplicativo nativo e acesso aos recursos da plataforma nativa.

Leia mais sobre como começar a usar o desenvolvimento React Native para Windows no documentação do React Native for Desktop.

Existem outros dispositivos Windows suportados pelo React Native for Desktop?

Os aplicativos React Native podem ser implantados em todos os dispositivos compatíveis com o Windows 10 e superior, incluindo PCs, tablets, 2 em 1, Xbox e dispositivos de realidade mista.

O que devo usar se quiser criar aplicativos que funcionem no Windows e no Xbox?

Se o seu aplicativo precisar ser compatível com Xbox, HoloLens ou IoT, recomendamos o uso da UWP. O SDK de Aplicativos Windows não oferece suporte a essas plataformas. Para o desenvolvimento de jogos, recomendamos o uso do Microsoft Game Development Kit.

O que devo usar se quiser criar aplicativos que funcionem no Windows e no Surface Hub?

Se você estiver direcionando o Windows e o Surface hub, recomendamos o uso da UWP.

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 nativos e da Web. O núcleo do aplicativo é criado usando tecnologias da Web, como HTML, CSS e JavaScript, e depois encapsulado em um contêiner nativo que permite que o aplicativo aproveite determinados recursos e hardware da plataforma nativa. Eles também podem ser distribuídos através de lojas de aplicativos.

A principal vantagem dos aplicativos híbridos é que eles permitem que você crie um único aplicativo que pode ser executado em várias plataformas nativas e na web, reduzindo o tempo e os custos de desenvolvimento. Alguns exemplos de plataformas híbridas de desenvolvimento de aplicativos respondem:

  • Electron para aplicações de ambiente de trabalho
  • Ionic para aplicações móveis
  • .NET MAUI Blazor híbrido para aplicativos multiplataforma

Como faço para criar aplicativos Web progressivos (PWAs) nativos no Windows?

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

Com o .NET MAUI, os aplicativos Blazor também podem ser executados nativamente no Windows, iOS, Android e macOS. Isso significa que você pode criar aplicativos cliente híbridos que combinam componentes Blazor e .NET MAUI juntos em um único aplicativo cliente nativo. Isso fornece acesso total aos mesmos recursos de plataforma nativa disponíveis para qualquer outro aplicativo .NET MAUI.

Para ler mais sobre como o Blazor pode ser hospedado em um aplicativo .NET MAUI, consulte ASP.NET Core Blazor Hybrid.

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

Não, os componentes Web de um aplicativo híbrido .NET MAUI não precisam ser criados com Blazor. A partir do .NET 9, o .NET MAUI fornece um controle HybridWebView que permite hospedar outras interfaces do usuário JavaScript em seu aplicativo nativo.

Isso significa que você pode pegar seu aplicativo Web Angular, React, Vue ou outro HTML & JavaScript e hospedá-lo em seu aplicativo .NET MAUI. O controle híbrido fornece interoperabilidade entre as camadas C# e JavaScript para que você possa chamar funções JavaScript de C# e vice-versa.

Quaisquer outros tipos de aplicativos nativos podem hospedar componentes híbridos Blazor?

Sim, os aplicativos WPF e WinForms também podem hospedar componentes híbridos Blazor. Isso permite que você adicione componentes modernos da interface do usuário da Web aos seus aplicativos WPF e WinForms existentes. Observe que isso não é possível com aplicativos WPF ou WinForms criados no .NET Framework.

Todo o meu aplicativo precisa ser um aplicativo híbrido ou posso misturar e combinar componentes nativos e híbridos?

Você pode misturar e combinar componentes nativos e híbridos em seu aplicativo. Por exemplo, você pode criar o núcleo do seu aplicativo usando componentes .NET MAUI e, em seguida, adicionar componentes híbridos para fornecer funcionalidade adicional. Isso permite que você aproveite o melhor dos dois mundos: o desempenho e os recursos dos componentes nativos e a flexibilidade e a economia de custos dos componentes híbridos.

Quais são as minhas escolhas para construir? Aplicativos Web baseados em NET que ficam ótimos em navegadores modernos no Windows?

Os aplicativos Web têm o maior alcance de qualquer plataforma de aplicativo cliente. Se você quiser criar belos aplicativos Web .NET no Windows, você tem várias opções:

  • ASP.NET aplicativos principais com o Razor Pages
  • ASP.NET aplicativos MVC principais
  • ASP.NET aplicativos Core Blazor, com opções de modelo de hospedagem, incluindo:
    • Aplicativos Blazor WebAssembly
    • Aplicativos Blazor Server

Observe que o modelo de hospedagem para Blazor pode ser configurado no nível do componente agora. Assim, você pode ter um componente Blazor WebAssembly hospedado em um aplicativo Blazor Server.

Leia mais sobre as opções de desenvolvimento ASP.NET Core na documentação do ASP.NET Core.

Escolha uma abordagem e entenda os investimentos da Microsoft

Há tantas opções de estrutura para criar aplicativos destinados ao Windows! Como é que eu decido?

O Windows é uma plataforma aberta que suporta muitas tecnologias. Aqui estão alguns critérios que podem ajudá-lo a decidir qual plataforma usar:

  • Você está criando o Windows-first ou multiplataforma?
  • Você tem experiência com .NET? JavaScript? Outras línguas?
  • Você precisa acessar APIs específicas do Windows?
  • Quais recursos da estrutura melhor atendem aos requisitos do seu aplicativo?
  • Consulte esta tabela para outros fatores de decisão.

Quando se trata de aplicativos de negócios, a maioria das equipes quer escolher com base nas habilidades existentes e no que a equipe se sente confortável em usar.

Como posso escolher a melhor abordagem de desenvolvimento para a minha aplicação Web?

Algumas coisas a considerar ao escolher uma abordagem de desenvolvimento para seu aplicativo Web incluem:

  • Blazor é recomendado para criar aplicativos Web front-end com .NET. Usando Blazor, agora você pode construir todo o seu front-end e back-end com .NET, economizando tempo e dinheiro. É particularmente adequado para aplicações empresariais de linha de negócio nos dispositivos atuais.
  • Os aplicativos Web JavaScript ainda fazem sentido se você quiser aproveitar as habilidades ou investimentos existentes da sua equipe em JavaScript, ou se precisar integrar com bibliotecas ou estruturas JavaScript existentes.
  • Os aplicativos existentes que usam estruturas mais antigas, como Web Forms, MVC ou Razor Pages, ainda são suportados e podem continuar a ser desenvolvidos e mantidos usando essas estruturas.

Quem está criando aplicativos com a WinUI hoje?

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

A Microsoft também criou vários aplicativos com WinUI, incluindo o Explorador de Arquivos do Windows 11 e os aplicativos Fotos.

Quem está criando aplicativos .NET MAUI hoje?

Muitos clientes estão usando o .NET MAUI para criar seus aplicativos de plataforma cruzada hoje, incluindo a Microsoft. Por exemplo, o de aplicativo móvel do Microsoft Azure foi criado usando a MAUI do .NET.

Descubra quem mais está criando aplicativos com o .NET MAUI no que os clientes do .NET mostram site.

Quem está criando aplicativos WPF hoje?

A maior parte da interface do usuário do Microsoft Visual Studio é criada com o WPF. O Visual Studio IDE é um ótimo exemplo 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 coloca dados e análises de sensores nas mãos dos pilotos para melhorar a segurança e a eficiência. A configuração de backend de tudo o que os pilotos veem é toda feita com Blazor.

Você pode ler mais histórias de clientes Blazor no site .NET.

UWP e WinUI 2

Os aplicativos UWP podem ser distribuídos fora da Microsoft Store?

Sim. Se o pacote de MSIX estiver assinado, o certificado de assinatura deverá ser válido e confiável no dispositivo de destino.

Posso misturar controles UWP XAML UI com controles Win32, WPF ou WinForms UI?

Sim - Ilhas XAML permite que você faça isso. Saiba mais sobre as Ilhas XAML.

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 aplicativos empacotados, desempacotados e empacotados com local externo, consulte 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 os usuários finais?

Um aplicativo WinUI pode ser entregue através da Loja, um arquivo .appinstaller ou em seu pacote MSI ou setup.exe existente. A Loja e o AppInstaller suportam atualizações automáticas para utilizadores finais que têm a atualização automática ativada, mas a sua aplicação MSI/setup.exe precisa de ter o seu próprio atualizador.

Posso usar o SDK do Aplicativo Windows sem usar o MSBuild?

De um modo geral, não. WinUI e Windows App SDK exigem MSBuild, e é por isso que Visual Studio é um pré-requisito para desenvolver com WinUI e Windows App SDK. Embora seja tecnicamente possível criar aplicativos do SDK de aplicativos do Windows que não usam WinUI usando outras cadeias de ferramentas, isso não é suportado.

Desempenho e otimização

O que posso fazer para que meu aplicativo do Windows seja ótimo para os usuários finais?

Compatibilidade

Meus usuários terão que atualizar o Windows para usar meu aplicativo WinUI?

Os usuários que têm o Windows 10, versão 1809 e posterior poderão instalar seus aplicativos WinUI sem atualizar seu sistema operacional.

Posso segmentar o Arm64 com meu aplicativo WinUI?

Sim.

Descontinuações e migrações

UWP / WinUI 2 são preteridos?

Não. UWP e WinUI 2 ainda são suportados e receberão correções de bugs, confiabilidade e segurança. No entanto, a maioria dos novos recursos e capacidades, incluindo suporte para os tempos de execução mais recentes do .NET, só serão adicionados ao WinUI 3.

Quando devo migrar um aplicativo UWP / WinUI 2 para WinUI 3?

Os desenvolvedores da UWP não devem se sentir pressionados a migrar seus aplicativos para a WinUI 3, se estiverem satisfeitos com a UWP e seu conjunto de recursos. A melhor opção para alguns aplicativos pode ser nunca migrar. Para aplicativos que desejam se beneficiar da plataforma Windows mais recente e dos investimentos em .NET da Microsoft, esses aplicativos devem considerar a mudança para o SDK de Aplicativos Windows. Consulte Migrar da UWP para o SDK do Aplicativo Windows).

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

Recomendamos continuar a usar a UWP se você estiver criando para Xbox, Surface Hub ou HoloLens.

O WPF foi preterido?

Não. WPF ainda é suportado e recebe algumas atualizações de recursos também.

O WinForms foi preterido?

Não. WinForms ainda é suportado e recebe algumas atualizações de recursos também.

O Tempo de Execução do Windows (WinRT) foi preterido?

Não. WinRT refere-se a uma interface binária de aplicativo (ABI) que permite interoperabilidade entre vários idiomas. WinRT é a evolução do COM. O SDK de aplicativos do Windows fornece a maioria de suas funcionalidades por meio de APIs do WinRT.

Notas de versão

Onde posso encontrar as notas de versão do SDK de Aplicativos Windows?