Editar

Compartilhar via


Perguntas frequentes para desenvolvedores Windows

O objetivo deste artigo é promover uma compreensão comum da experiência de desenvolvimento Windows e da direção do produto.

O cenário de desenvolvimento de aplicativos do Windows de hoje oferece uma variedade de estruturas e tecnologias para escolher. Essas perguntas frequentes fornecem diretrizes sobre como decidir qual estrutura usar para seus projetos de desenvolvimento de aplicativos do Windows. Ele aborda os seguintes tópicos:

  • Introdução e o cenário de desenvolvimento de aplicativos do Windows.
  • Desenvolvimento de aplicativos nativos somente do Windows com WinUI, Windows Presentation Foundation (WPF) e WinForms (Windows Forms).
  • O SDK (Kit de Desenvolvimento de Software) do Windows e o SDK de Aplicativos do Windows.
  • Direcionando o 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.

O cenário de desenvolvimento de aplicativos do Windows

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

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

Na era dos serviços de nuvem, 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 ainda importam:

  • Alcance do Dispositivo: 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 cliente geralmente são a primeira interação que os usuários têm com 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 a Integração de Nuvem: Um aplicativo cliente bem integrado pode ser sincronizado sem esforço com serviços de nuvem de back-end, permitindo acesso a dados em tempo real e escalabilidade perfeita à 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 do Windows

O que é o SDK do Aplicativo Windows?

O SDK do Aplicativo 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é Windows 10 1809). O WinUI 3 é a estrutura de interface do usuário que é fornecida com SDK do Aplicativo Windows.

Qual é 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 aplicativos Windows.

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 usar o SDK do Aplicativo Windows para criar um aplicativo, você terá acesso aos recursos mais recentes da plataforma de desenvolvimento do Windows. O SDK do Aplicativo Windows inclui a WinUI 3.

O SDK do Windows é uma plataforma de desenvolvimento que permite criar aplicativos UWP e aplicativos Win32/área de trabalho. Ele foi projetado com base em APIs Windows acopladas a versões específicas do sistema operacional.

O SDK do Aplicativo Windows não substitui o SDK do Windows. Em vez disso, o SDK do Aplicativo Windows é um complemento ao SDK do Windows. Ele oferece uma abstração conveniente desacoplada do sistema operacional em torno do catálogo avançado de APIs do sistema operacional Windows que você já pode acessar usando o SDK do Windows. Ao criar aplicativos com SDK do Aplicativo Windows, você pode acabar usando algumas APIs do SDK do Windows, dependendo da funcionalidade necessária. Com o tempo, mais funcionalidade do SDK do Windows serão oferecidas no SDK do Aplicativo 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 windows:

  • Desempenho: estruturas nativas do Windows são otimizadas para aproveitar todo o poder do hardware atual do Windows e fornecer experiências rápidas e responsivas do usuário.
  • Integração: o Windows é fornecido com amplas 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 do usuário nativo: estruturas nativas do Windows fornecem uma experiência consistente do usuário em dispositivos Windows, garantindo que seu aplicativo tenha uma aparência e funcione bem em todos os dispositivos Windows.
  • suporte offline: estruturas nativas do Windows oferecem suporte para cenários offline, permitindo que seu aplicativo funcione mesmo quando o usuário não estiver conectado à Internet.
  • Monetização: estruturas nativas do Windows são mantidas e compatíveis com a 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 do 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 projetado para funcionar em uma ampla gama de dispositivos Windows. O WinUI fornece uma estrutura de interface do usuário moderna e flexível que permite criar aplicativos do Windows visualmente atraentes e interativos. O WinUI faz parte do SDK do Aplicativo do Windows e foi projetado para funcionar melhor com as versões mais recentes do Windows.

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

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

De 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 do Aplicativo do Windows em qualquer aplicativo da área de trabalho, dependendo de como seu aplicativo existente foi criado. Não há suporte para aplicativos UWP pelo SDK do Aplicativo do Windows.

Isso significa que aplicativos WPF/MFC/WinForms podem usar APIs do SDK do Aplicativo 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 do Windows em um 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 posteriores para desenvolver aplicativos WinUI. Usar a versão mais recente do Visual Studio dará acesso a recursos avançados de desenvolvimento, como Recarga Dinâmica. Os instaladores mais recentes do Visual Studio incluem um o desenvolvimento de aplicativos do Windows 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 com suporte oficial para WinUI. Observe que do MSBuild é necessário para compilar projetos que usam XAML ou WinUI.

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

Sim - "Aplicativo WinUI" é o termo que recomendamos que você use. Os aplicativos WinUI 3 geralmente são chamados de "aplicativos WinUI", pois o 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 os componentes do WinUI 2 por componentes do WinUI 3?

Não. O SDK do Aplicativo Windows não pode ser usado em aplicativos UWP e o WinUI 2 não pode ser combinado à WinUI 3. Confira Migrar 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 da UWP para o WinUI dependerá principalmente desses fatores:

  1. Personalização do MSBuild e do arquivo de projeto: a migração do projeto pode exigir um nível significativo de esforço, dependendo do uso de recursos avançados do MSBuild.
  2. Migração da API do .NET: Se o aplicativo UWP depender do .NET, você precisará atualizar para o .NET 6. Na maioria dos casos, a adoção do .NET 6 é direta.
  3. Bibliotecas de componentes da interface do usuário: se você usa bibliotecas de componentes da interface do usuário, será necessário obter as novas versões delas direcionadas à WinUI 3.
  4. Se o código-fonte da UWP for escrito no C++/CX agora substituído, algumas portas de código-fonte estarão envolvidas. Confira Migrar do C++/CX para o C++/WinRT.

Confira Migrar da UWP para o SDK do Aplicativo Windows para obter mais informações sobre a migração da UWP.

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 que tiverem a versão antiga serão atualizados para a versão nova. Essa diretriz se aplica apenas a aplicativos da área de trabalho. Os aplicativos Xbox, HoloLens e Surface Hub não podem migrar para o WinUI.

Como fazer para empacotar/distribuir meu aplicativo WinUI?

Onde posso encontrar diretrizes de migração do 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. Mas há muitos benefícios em representar sua interface do usuário WinUI na forma de marcação XAML declarativa, como uma experiência de desenvolvedor aprimorada.

Se você estiver migrando da UWP para o WinUI, provavelmente poderá reutilizar grande parte da marcação XAML e do código relacionado à interface do usuário (mas precisará 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 de desenvolvedor do WinUI. Ferramentas como Recarga Dinâmica de XAML podem ajudar em muitos cenários. Work iniciou em um designer de interface do usuário do Visual Studio para WinUI no SDK do Aplicativo do Windows 1.7, mas ainda não há uma linha do tempo para o lançamento desse recurso.

O SDK do Aplicativo Windows inclui a WinUI 3?

Sim. A WinUI 3 é enviada como parte do SDK do Aplicativo Windows.

O SDK do Aplicativo Windows inclui a WinUI 2?

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

A WinUI 2 e a WinUI 3 são criadas com base na mesma tecnologia?

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

Posso usar a WinUI 3 sem usar o SDK do Aplicativo Windows?

Não. A WinUI 3 é enviada como parte do SDK do Aplicativo Windows.

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

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

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

As Ilhas XAML permitem que você hospede controles WinUI modernos com a interface do usuário do Win32 de outras estruturas, como WinForms e WPF. Hoje, há suporte para ilhas XAML com a maioria dos controles XAML e WinUI 2 do sistema. Consulte Hospedar controles WinRT XAML em aplicativos da área de trabalho (Ilhas XAML) para mais informações. O suporte a ilhas XAML para controles WinUI 3 está disponível a partir do SDK do Aplicativo do Windows 1.4.

Se eu criar um aplicativo WinUI, ele ficará moderno no Windows 11 e no Windows 10?

Sim, a interface do usuário do aplicativo herdará os princípios mais recentes de design 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 planos de fundo de Mica ou Acrílico em aplicativos criados com o SDK do Aplicativo Windows?

Onde posso encontrar exemplos do WinUI?

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

Se eu já tiver investido pesado no WPF, devo continuar a usar o WPF ou devo considerar migrar para o WinUI?

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

Considere aproveitar o do Assistente de Atualização do .NET 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 Assistente de Atualização do .NET analisa sua base de código existente e fornece diretrizes 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 o .NET 9 ou posterior, você pode garantir que seu aplicativo corresponda à aparência elegante e moderna do Windows 11. O novo tema fluente para WPF apresenta uma estética contemporânea do Windows 11 para aplicativos WPF, completa com suporte integrado ao modo Claro/Escuro e à cor de destaque do sistema. Essa atualização não só moderniza a aparência do seu aplicativo, mas também aprimora o envolvimento do usuário fornecendo 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 sua equipe estiver confortável criando aplicativos WinForms e WindForms atender às suas necessidades, você poderá continuar a usar o WinForms para seus aplicativos existentes. O WinForms é uma estrutura madura e estável que é amplamente usada pelos desenvolvedores para criar aplicativos da área de trabalho do Windows.

A equipe do WinForms está investindo em recursos e tem uma comunidade ativa de colaboradores. Algumas áreas atuais de investimento 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 alguns dos motivos para criar aplicativos nativos e multiplataforma direcionados ao Windows?

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

  • Reach: Criar aplicativos multiplataforma permite que você alcance um público maior de usuários em diferentes plataformas.
  • Reutilização de código: Criar 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 consistente do usuário: Criar aplicativos multiplataforma permite que você forneça uma experiência consistente do usuário em diferentes plataformas, garantindo que seu aplicativo fique e funcione bem em todos os dispositivos.
  • Integração: Criar 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 MAUI do .NET 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 do .NET em todas as plataformas, incluindo o Windows, mas, sob o capô, gera um 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 fornece uma única experiência do .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 MAUI do .NET. Essas APIs abrangem o acesso ao armazenamento, à rede, aos sensores específicos do dispositivo e muito mais. Se necessário, você também pode acessar APIs adicionais específicas da plataforma usando a injeção de dependência para abstrair o código de cada plataforma.

Posso começar com o WinUI e integrar posteriormente o .NET MAUI se eu eventualmente quiser direcionar cenários de plataforma cruzada?

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

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

Se sua equipe tiver fortes habilidades de desenvolvimento na Web, talvez você queira considerar o uso do React Native para Área de Trabalho. O React Native for Desktop abrange as estruturas react native para 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 na Web existentes para criar aplicativos nativos do Windows usando o React Native. React Native for Desktop é um projeto de software livre 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 acessar recursos e recursos 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 de 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 do React Native para Windows no de documentação do React Native for Desktop.

Outros dispositivos Windows têm suporte do React Native para Área de Trabalho?

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

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

Se o aplicativo precisar dar suporte para Xbox, HoloLens ou IoT, recomendamos usar a UWP. O SDK do Aplicativo Windows não dá suporte a essas plataformas. Para desenvolvimento de jogos, recomendamos usar o Microsoft Game Development Kit.

O que devo usar para criar aplicativos que funcionem em Windows e Surface Hub?

Se você estiver focando Windows e Surface Hub, recomendamos usar a 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 web e nativos. O núcleo do aplicativo é criado usando tecnologias Web como HTML, CSS e JavaScript e, em seguida, encapsulado em um contêiner nativo que permite que o aplicativo aproveite determinados recursos e hardware de plataforma nativa. Eles também podem ser distribuídos por meio de lojas de aplicativos.

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

  • Electron para aplicativos da área de trabalho
  • Ionic para aplicativos móveis
  • .NET MAUI Blazor híbrido para aplicativos multiplataforma

Como faço para criar PWAs (aplicativos Web progressivos) que pareçam nativos do 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 do Blazor e do .NET MAUI em um único aplicativo cliente nativo. Isso fornece acesso total aos mesmos recursos de plataforma nativa disponíveis para qualquer outro aplicativo MAUI do .NET.

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 o Blazor?

Não, os componentes Web de um aplicativo híbrido .NET MAUI não precisam ser criados com o 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 Angular, React, Vue ou outro HTML & aplicativo Web 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.

Qualquer outro tipo de aplicativo nativo pode 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.

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

Você pode misturar e corresponder componentes nativos e híbridos em seu aplicativo. Por exemplo, você pode criar o núcleo do seu aplicativo usando componentes maui do .NET e, em seguida, adicionar componentes híbridos para fornecer funcionalidade adicional. Isso permite que você aproveite o melhor dos dois mundos: o desempenho e as funcionalidades 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 parecem ótimos em navegadores modernos no Windows?

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

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

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

Leia mais sobre as opções de desenvolvimento do 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 direcionados ao Windows! Como faço para decidir?

O Windows é uma plataforma aberta que dá suporte a 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 o .NET? JavaScript? Outros idiomas?
  • Você precisa acessar APIs específicas do Windows?
  • Quais recursos da estrutura melhor correspondem 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 deseja escolher com base nas habilidades existentes e no que a equipe se sente confortável em usar.

Como escolher a melhor abordagem de desenvolvimento para meu aplicativo Web?

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

  • O Blazor é recomendado para criar aplicativos Web front-end com o .NET. Usando o Blazor, agora você pode criar todo o front-end e back-end com o .NET, economizando tempo e dinheiro. Ele é particularmente adequado para aplicativos de linha de negócios empresariais 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 se integrar a bibliotecas ou estruturas JavaScript existentes.
  • Aplicativos existentes que usam estruturas mais antigas, como Web Forms, MVC ou Razor Pages, ainda têm suporte e podem continuar a ser desenvolvidos e mantidos usando essas estruturas.

Quem está criando aplicativos com WinUI hoje?

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

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

Quem está criando aplicativos MAUI do .NET hoje?

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

Descubra quem mais está criando aplicativos com o .NET MAUI no 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 back-end de tudo o que os pilotos veem é feita com Blazor.

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

UWP e WinUI 2

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

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

Posso combinar controles de interface do usuário XAML UWP com controles de interface do usuário Win32, WPF ou WinForms?

Sim, ilhas XAML permitem que você faça isso. Saiba mais sobre ilhas XAML.

Empacotamento, implantação e atualizações

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

Para definições de aplicativos que são empacotados, descompactados e empacotados com localização externa, 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 em seu pacote msi ou setup.exe existente. A Store e o AppInstaller dão suporte a atualizações automáticas para usuários finais que têm a atualização automática habilitada, mas seu aplicativo MSI/setup.exe precisa ter um atualizador próprio.

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

De modo geral, não. O WinUI e o SDK de Aplicativos do Windows exigem do MSBuild, razão pela qual do Visual Studio é um pré-requisito para o desenvolvimento com o WinUI e o SDK de Aplicativos do Windows. Embora tecnicamente seja possível criar aplicativos do SDK de Aplicativos do Windows que não usam o WinUI usando outras cadeias de ferramentas, não há suporte para isso.

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 precisarão 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 o sistema operacional.

Posso direcionar o Arm64 com meu aplicativo WinUI?

Sim.

Preterimentos e migrações

A UWP/WinUI 2 foi preterida?

Não. A UWP e a WinUI 2 ainda têm suporte e receberão correções de bug, confiabilidade e segurança. No entanto, a maioria dos novos recursos e recursos, incluindo o suporte para os runtimes mais recentes do .NET, só será adicionada ao WinUI 3.

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

Os desenvolvedores da UWP não devem sentir nenhuma pressão para migrar seus aplicativos para o 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 dos investimentos mais recentes da plataforma Windows e do .NET da Microsoft, esses aplicativos devem considerar migrar para o SDK do Aplicativo Windows. Confira Migrar da UWP para o SDK do Aplicativo Windows.

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

É recomendável continuar usando a UWP se você está criando para Xbox, Surface Hub ou HoloLens.

A WPF foi preterida?

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

O WinForms foi preterido?

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

O Windows Runtime (WinRT) foi preterido?

Não. O WinRT refere-se a uma ABI (interface binária de aplicativo) que fornece interoperabilidade entre várias linguagens. WinRT é a evolução do COM. O SDK do Aplicativo Windows fornece a maior parte de sua funcionalidade por meio de APIs do WinRT.

Notas de versão

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