Partilhar via


Perguntas Frequentes sobre Desenvolvimento de Aplicações Windows

Esta FAQ fornece respostas a perguntas comuns sobre desenvolvimento de aplicações Windows, incluindo orientações sobre como escolher a framework certa para os seus projetos. Os tópicos abordados incluem:

  • 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).
  • Kit de Desenvolvimento de Software Windows (SDK) e SDK de Aplicações Windows.
  • 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.

Panorama do desenvolvimento de aplicações Windows

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

Para uma ótima análise das opções atuais para desenvolvedores do Windows, assista ao mais recente episódio do Windows Dev Chat, Escolhendo sua plataforma de desenvolvimento ideal, onde eles discutem WinUI, .NET MAUI, React Native, Blazor e Progressive Web Apps (PWAs).

Você também pode consultar a visão geral das opções de desenvolvimento de aplicativos para desenvolvedores do Windows.

Porque é que o desenvolvimento de aplicações cliente continua a ser crucial para a transformação digital moderna na era dos serviços na cloud?

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.

Eis porque as aplicações clientes 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 Windows App SDK?

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). O WinUI é o framework de interface que vem com o Windows App SDK.

Qual é a diferença entre o Windows App SDK e o Windows SDK?

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 compilar com o Windows App SDK, estão disponíveis as funcionalidades mais recentes da plataforma de desenvolvimento Windows. O Windows App SDK inclui o WinUI.

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 Windows App SDK complementa o Windows SDK. Proporciona uma abstração conveniente e desacoplada do sistema operativo em torno do rico catálogo de APIs do sistema operativo do Windows que já estão acessíveis através do SDK do Windows. As aplicações construídas com o Windows App SDK podem ainda usar APIs do Windows SDK, dependendo das necessidades de funcionalidade. Com o tempo, mais funcionalidades do SDK do Windows passarão para o SDK de Aplicações do Windows.

Estou a formar uma nova equipa para desenvolver uma aplicação exclusiva para Windows. Porque é que devo escolher desenvolver com um framework nativo do Windows como o WinUI, WPF ou WinForms?

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

  • Desempenho: Os frameworks nativos do Windows são otimizados para tirar partido do hardware moderno do Windows, proporcionando experiências de utilizador rápidas e responsivas.
  • Integração: O Windows vem com uma grande variedade de APIs que permitem experiências sofisticadas disponíveis apenas no Windows. Frameworks nativos proporcionam uma integração profunda com estas funcionalidades e APIs.
  • Experiência nativa do utilizador: Frameworks nativos proporcionam uma experiência consistente em todos os dispositivos Windows, garantindo que a sua aplicação tenha um aspeto e funcione perfeitamente em todo o lado.
  • Suporte offline: Frameworks nativos suportam cenários offline, permitindo que as aplicações funcionem mesmo sem ligação à internet.
  • Monetização: Frameworks nativos são mantidos e suportados ativamente pela Microsoft, garantindo acesso às últimas atualizações e funcionalidades.
Que framework devo usar para tirar partido dos mais recentes investimentos da Microsoft no desenvolvimento de aplicações 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. Oferece uma estrutura de interface moderna e flexível para criar aplicações Windows visualmente apelativas e interativas. O WinUI faz parte do Windows App SDK e funciona melhor com as versões mais recentes do Windows.

Posso usar o Windows App SDK / WinUI na minha aplicação Windows existente?

Note que o WinUI (um framework de interface) vem com o Windows App SDK (um framework de desenvolvimento de plataforma Windows).

Geralmente, o WinUI não pode ser usado a menos que a aplicação esteja pronta para migrar completamente o seu framework de interface. Está em desenvolvimento uma funcionalidade chamada ilhas XAML para alojar conteúdo WinUI noutros frameworks de UI (WPF, Win32).

Elementos do Windows App SDK podem frequentemente ser usados em aplicações de ambiente de trabalho, dependendo de como a aplicação existente foi construída. Os aplicativos UWP não são suportados pelo SDK de Aplicativos Windows.

Isto significa que as aplicações WPF/MFC/WinForms podem usar APIs do Windows App SDK que não estão relacionadas com o WinUI. Exemplos incluem Ciclo de Vida da Aplicação, Janelas e Notificações Toast.

Consulte Use the Windows App SDK num projeto existente para mais informações.

Preciso de usar o Visual Studio para construir aplicações WinUI?

O uso do Visual Studio 2022 versão 17.10 ou superior é fortemente recomendado para o desenvolvimento do WinUI. As versões mais recentes do Visual Studio oferecem funcionalidades de desenvolvimento ricas como o Hot Reload e incluem uma carga de trabalho de desenvolvimento de aplicações WinUI que simplifica a configuração.

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

Qual é a diferença entre WinUI, WinUI 2 e WinUI 3?

O WinUI é o mais recente framework nativo de interface para desenvolvimento de aplicações Windows. Oferece uma estrutura de interface moderna e flexível para criar aplicações Windows visualmente apelativas e interativas. O WinUI faz parte do Windows App SDK e funciona melhor com as versões mais recentes do Windows.

O WinUI 2 é um conjunto de controlos e estilos de interface construídos sobre o UWP. Oferece um aspeto e sensação modernos para aplicações UWP e foi concebido para o Windows 10.

WinUI 3 foi o nome anterior do WinUI quando foi lançado como parte do Windows App SDK.

Em resumo, o WinUI é a versão mais recente e avançada do framework WinUI, o WinUI 2 é uma biblioteca de controlo para UWP, e o WinUI 3 foi um rótulo anterior para o WinUI. Use "WinUI" daqui para a frente, a menos que se refira especificamente ao WinUI 2.

Quando crio uma aplicação usando o Windows App SDK e o WinUI, estou a construir uma "app WinUI"?

Sim — "WinUI app" é o termo recomendado. As aplicações WinUI são chamadas de "aplicações WinUI" porque o WinUI 2 não é um tipo de aplicação, mas sim um conjunto de componentes usados em aplicações UWP.

Posso atualizar gradualmente a minha aplicação UWP com os controlos do WinUI 2 para o WinUI, substituindo gradualmente os componentes do WinUI 2 por componentes do WinUI?

Não. O Windows App SDK não pode ser usado em aplicações UWP, e o WinUI 2 não pode ser misturado com o WinUI. Consulte Migrar da UWP para o SDK do Aplicativo Windows.

Quão difícil é migrar uma aplicação 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 da migração depende principalmente de:

  1. Ficheiro de projeto e personalização do MSBuild: O esforço de migração varia consoante o uso avançado do MSBuild.
  2. Migração da API .NET: As aplicações UWP que usam .NET têm de migrar para .NET 6 ou versões posteriores. Em muitos casos, adotar o .NET 6 é simples.
  3. Bibliotecas de componentes UI: As bibliotecas devem ter versões direcionadas para o WinUI.
  4. Se a aplicação UWP for escrita no agora obsoleto C++/CX, é necessário portar o código-fonte. Consulte Mover para C++/WinRT a partir de C++/CX.

Para mais informações, consulte Migrar de UWP para o Windows App SDK.

Se eu tiver uma aplicação UWP existente na Loja, posso publicar uma nova aplicação WinUI empacotada usando os mesmos identificadores?

Sim, as aplicações atualizadas podem ser publicadas sem atualizar a identidade da aplicação. Os utilizadores da versão antiga serão atualizados para a nova versão. Isto aplica-se apenas a aplicações de ambiente de trabalho. As aplicações Xbox, HoloLens e Surface Hub não conseguem migrar para o WinUI.

Como posso empacotar/distribuir a minha aplicação WinUI?

Consulte Visão geral da implantação.

Onde posso encontrar orientações para migração do SDK da aplicação Windows?

Consulte Migrar da UWP para o SDK do Aplicativo Windows.

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

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

  • Migração do UWP para o WinUI: Muitos componentes XAML e UI podem ser reutilizados, embora sejam necessários alguns ajustes na sintaxe.
  • Migração de WPF para WinUI: Muitos conceitos são transferidos, mas o conjunto de controlo e as APIs diferem.
O Visual Studio tem uma interface de design e designer de UI para WinUI?

Ainda não. Esta é uma lacuna conhecida na experiência do programador WinUI. Ferramentas como XAML Hot Reload podem ajudar em muitos cenários. Já começou o trabalho num designer de UI Visual Studio para o WinUI no Windows App SDK 1.7, mas ainda não existe um prazo para o seu lançamento.

O Windows App SDK inclui WinUI?

Yes. O WinUI é fornecido como parte do Windows App SDK.

O SDK de aplicações do Windows inclui o WinUI 2?

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

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

Não exatamente. Embora o WinUI tenha começado originalmente na base de código do WinUI 2, são tecnologias distintas. Ambos são frameworks de interface baseados em XAML que funcionam entre .NET e C++, mas o WinUI 2 e o WinUI não são compatíveis entre si.

Posso usar o WinUI sem usar o Windows App SDK?

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

Posso usar o WinUI numa aplicação não empacotada?

Yes. Todas as tecnologias do Windows App SDK, incluindo o WinUI, funcionam em aplicações não integradas.

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

As XAML Islands permitem alojar controles modernos baseados em XAML, lado a lado com a UI Win32 antiga de outros frameworks como WinForms e WPF.

Atualmente, as ilhas XAML suportam a maioria dos controlos XAML e WinUI 2 do sistema. Consulte os controlos XAML do Host WinRT em aplicações de ambiente de trabalho (Ilhas XAML) para mais detalhes. O suporte para alojar controlos WinUI está disponível a partir do Windows App SDK 1.4.

Se criar uma aplicação WinUI, vai parecer moderna tanto no Windows 11 como no Windows 10?

Yes. A interface da sua aplicação herdará os princípios mais recentes de design da Fluent UI em todas as versões suportadas do Windows 11 e Windows 10, até à versão 1809, tanto em cenários empacotados como não empacotados.

Posso usar fundos de Mica ou Acrílico em aplicações construídas com o Windows App SDK?

Yes. Consulte Aplicar materiais de Mica ou Acrílico em aplicações de ambiente de trabalho para Windows 11.

Onde posso encontrar exemplos do WinUI?

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

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

Se já investiu bastante no WPF, pode continuar a usá-lo para aplicações existentes. O WPF é uma framework madura e estável, amplamente utilizada para construir aplicações de ambiente de trabalho Windows.

Considere usar o .NET Upgrade Assistant para migrar aplicações WPF do .NET Framework para a mais recente plataforma .NET. Analisa a sua base de código e fornece orientações sobre como a atualizar.

Se eu criar uma nova aplicação WPF, vai parecer desatualizada comparada com outras novas aplicações 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, com modo Claro/Escuro integrado e suporte para cores de acento do sistema. Isto moderniza a aparência da sua aplicação e proporciona uma experiência de utilizador polida e coesa.

A minha equipa sente-se confortável a construir aplicações WinForms e isso adequa-se às nossas necessidades. Devemos considerar migrar para o WinUI ou outro framework?

Se o WinForms responder às suas necessidades e a sua equipa se sentir confortável com ele, pode continuar a usar o WinForms para aplicações existentes. O WinForms é uma framework madura e estável amplamente utilizada para o desenvolvimento de ambiente de trabalho Windows.

A equipa WinForms continua a investir na plataforma. Algumas áreas de investimento atuais incluem:

  • Suporte assíncrono para controlos comuns
  • Modo escuro
  • Flexibilidade de layout
  • Funcionalidades de segurança no ambiente de trabalho, como acesso a pranchetas

Desenvolvimento nativo multiplataforma

Quais são algumas razões para construir aplicações nativas multiplataforma direcionadas ao Windows?

Se está a direcionar utilizadores em múltiplas plataformas de sistemas operativos, construir aplicações multiplataforma com .NET MAUI ou React Native pode oferecer vários benefícios:

  • Alcance: As aplicações multiplataforma alcançam um público maior através de diferentes dispositivos e sistemas operativos.
  • Reutilização de código: Reutilizar código entre plataformas reduz o tempo e o custo de desenvolvimento. Construir aplicações separadas para Windows, Android, iOS e macOS pode ser proibitivamente caro.
  • Experiência de utilizador consistente: Os frameworks multiplataforma ajudam a proporcionar uma aparência e sensação consistentes entre plataformas.
  • Integração: As aplicações multiplataforma ainda podem integrar-se com serviços específicos da plataforma para proporcionar uma experiência abrangente.
Posso ter confiança de que as aplicações MAUI .NET vão correr bem no Windows?

Quando constróis uma aplicação .NET MAUI para Windows, o resultado é uma aplicação WinUI. Durante o desenvolvimento, o .NET MAUI oferece uma única experiência .NET em várias plataformas, mas gera código específico para cada plataforma nos bastidores. Isto garante que as aplicações MAUI .NET têm um bom desempenho em cada plataforma e proporcionam uma experiência nativa ao utilizador.

Como é que o .NET MAUI pode fornecer APIs nativas para dispositivos em todas as plataformas?

O .NET MAUI oferece uma experiência .NET unificada para Windows, iOS, Android e macOS. Abstrai mais de 60 APIs específicas de cada plataforma num único conjunto de APIs multiplataforma, abrangendo áreas como armazenamento, redes e sensores de dispositivos. APIs específicas de plataforma adicionais também podem ser acedidas através da injeção de dependências para fornecer implementações especializadas por plataforma.

Posso começar pelo WinUI e depois integrar o .NET MAUI se eventualmente quiser focar em cenários multiplataforma?

Neste momento, não. Embora o .NET MAUI use WinUI quando corre no Windows, as equipas que esperam atingir várias plataformas devem começar com .NET MAUI ou React Native para Ambiente de Trabalho.

A nossa equipa possui fortes competências de desenvolvimento front-end web. Devemos considerar usar o React Native para ambiente de trabalho?

Equipas com forte experiência em desenvolvimento web podem querer considerar o React Native para Desktop. Inclui React Native para Windows e macOS. Com a abordagem "Aprenda uma vez, escreva em qualquer lugar", as competências existentes em JavaScript, TypeScript e React podem ser usadas para construir aplicações nativas para Windows e macOS.

O React Native for Desktop renderiza a interface diretamente para primitivas nativas, oferecendo desempenho nativo e capacidades de plataforma.

Consulte a documentação do React Native para o ambiente de trabalho para começar.

Existem outros dispositivos Windows suportados pelo React Native para ambiente de trabalho?

As aplicações React Native podem ser implementadas em todos os dispositivos suportados pelo Windows 10 e versões posteriores, incluindo PCs, tablets, 2-em-1, Xbox e dispositivos de realidade mista.

O que devo usar se quiser criar aplicações que funcionem no Windows e na Xbox?

Se a sua aplicação precisar de suportar Xbox, HoloLens ou IoT, recomenda-se UWP. O SDK de aplicações do Windows não suporta estas plataformas. Para desenvolvimento de jogos, utilize o Microsoft Game Development Kit.

O que devo usar se quiser criar aplicações que funcionem no Windows e no Surface Hub?

Se o seu alvo forem tanto o Windows como o Surface Hub, recomenda-se o UWP.

Desenvolvimento híbrido e web

O que são aplicações híbridas e por que razão devo considerar criar uma?

Os aplicativos híbridos combinam o melhor do desenvolvimento de aplicativos nativos e da Web. O seu núcleo é construído usando tecnologias web como HTML, CSS e JavaScript, e está envolto num contentor nativo que dá acesso a certas funcionalidades e hardware nativos da plataforma. Eles também podem ser distribuídos através de lojas de aplicativos.

A principal vantagem é que as aplicações híbridas permitem construir uma única aplicação que pode correr em múltiplas plataformas nativas e na web, reduzindo o tempo e custos de desenvolvimento. Exemplos de plataformas híbridas de desenvolvimento de aplicações incluem:

  • Electron para aplicações de ambiente de trabalho
  • Ionic para aplicações móveis
  • .NET MAUI Blazor Hybrid para aplicações multiplataforma
Como posso construir aplicações web progressivas (PWAs) com sensação nativa no Windows?

Consulte Desenvolvimento Web no Windows e Visão geral dos aplicativos Web progressivos.

O que é uma aplicação híbrida .NET MAUI Blazor?

Com o .NET MAUI, as aplicações Blazor podem correr nativamente no Windows, iOS, Android e macOS. Isto permite-lhe criar aplicações cliente híbridas que combinam componentes Blazor e .NET MAUI numa única aplicação cliente nativa, com acesso total às capacidades nativas da plataforma.

Saiba mais em ASP.NET Core Blazor Hybrid.

Os componentes web de uma aplicação híbrida .NET MAUI precisam de ser criados com Blazor?

Não. A partir do .NET 9, o .NET MAUI inclui um controlo HybridWebView que permite alojar outras interfaces baseadas em JavaScript dentro de uma aplicação nativa.

Isto permite-lhe alojar aplicações Angular, React, Vue ou outras aplicações HTML/JavaScript dentro de uma aplicação .NET MAUI. O controlo híbrido proporciona interoperabilidade entre C# e JavaScript, pelo que o código C# pode chamar funções JavaScript e vice-versa.

Algum outro tipo de aplicação nativa consegue alojar componentes híbridos do Blazor?

Yes. As aplicações WPF e WinForms também podem alojar componentes híbridos do Blazor, permitindo a adição de interfaces web modernas às aplicações existentes. Isto não é suportado para aplicações WPF ou WinForms construídas em .NET Framework.

A minha aplicação inteira precisa de ser híbrida, ou posso misturar componentes nativos e híbridos?

Componentes nativos e híbridos podem ser misturados dentro de uma aplicação. Por exemplo, o núcleo de uma aplicação pode ser construído com componentes .NET MAUI, enquanto componentes híbridos fornecem funcionalidades adicionais. Isto permite combinar o desempenho e as capacidades dos componentes nativos com a flexibilidade e eficiência de custos dos componentes híbridos.

Quais são as minhas opções para construir. Aplicações web baseadas na NET que têm ótimo aspeto nos navegadores modernos no Windows?

As aplicações web oferecem o maior alcance de qualquer plataforma de aplicações cliente. Opções para criar belas aplicações web .NET incluem:

  • ASP.NET aplicativos principais com o Razor Pages
  • ASP.NET aplicativos MVC principais
  • Aplicações ASP.NET Core Blazor, com opções de modelo de alojamento:
    • Blazor WebAssembly (estrutura para desenvolvimento de aplicações web)
    • Blazor Server

Os modelos de alojamento Blazor podem agora ser configurados ao nível do componente, permitindo cenários como alojar um componente Blazor WebAssembly numa aplicação Blazor Server.

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

Escolha uma abordagem e entenda os investimentos da Microsoft

Existem tantas opções de framework para construir aplicações direcionadas ao Windows! Como é que decido?

O Windows é uma plataforma aberta que suporta muitas tecnologias. Aqui estão alguns critérios que podem ajudar a escolher uma plataforma:

  • Está a construir Windows primeiro ou multiplataforma?
  • Que linguagens ou competências já tens — .NET, JavaScript, ou outra coisa?
  • Precisas de acesso a APIs específicas do Windows?
  • Qual das capacidades do framework correspondem melhor aos requisitos da sua aplicação?
  • Consulte esta tabela para fatores de comparação adicionais.

Para muitas aplicações empresariais, as equipas escolhem frequentemente com base nas competências existentes e no que a equipa se sente mais confortável a usar.

Como escolho a melhor abordagem de desenvolvimento para a minha aplicação web?

Considere o seguinte ao escolher uma abordagem de desenvolvimento para a sua aplicação web:

  • Blazor é recomendado para criar aplicativos Web front-end com .NET. Permite-lhe construir tanto o front-end como o back-end usando .NET, poupando tempo e custos, sendo especialmente bom para aplicações empresariais.
  • As aplicações web em JavaScript continuam a fazer sentido se quiseres aproveitar as competências existentes em JavaScript ou se precisares de integrar com bibliotecas ou frameworks JS já estabelecidos.
  • As aplicações existentes que utilizam frameworks mais antigos como Web Forms, MVC ou Razor Pages continuam a ser suportadas e podem continuar a ser desenvolvidas e mantidas.
Quem está a construir aplicações com o WinUI atualmente?

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

A Microsoft também desenvolveu muitas aplicações WinUI, como o Explorador de Ficheiros do Windows 11 e a aplicação Fotos.

Quem está a construir aplicações MAUI .NET atualmente?

Muitos clientes, incluindo a Microsoft, estão a desenvolver aplicações multiplataforma com o .NET MAUI. Por exemplo, a aplicação móvel Microsoft Azure é construída usando .NET MAUI.

Veja mais sobre a mostra de clientes .NET.

Quem está a desenvolver aplicações WPF atualmente?

A maior parte da interface do Microsoft Visual Studio é construída com WPF. O próprio Visual Studio IDE é um grande exemplo de uma aplicação WPF complexa e de alto desempenho.

Quem está a desenvolver aplicações Blazor atualmente?

O sistema FlightPulse da GE Digital utiliza o Blazor para a configuração backend de tudo o que os pilotos veem, trazendo dados de sensores e análises diretamente aos pilotos para melhorar a segurança e eficiência.

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

UWP e WinUI 2

As aplicações UWP podem ser distribuídas fora da Microsoft Store?

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

Posso misturar controlos da interface UWP XAML com controlos da interface Win32, WPF ou WinForms?

Sim — o XAML Islands permite isto. Veja Saiba mais sobre as Ilhas XAML.

Empacotamento, implantação e atualizações

Qual é a diferença entre aplicações que vêm embaladas, não empacotadas e empacotadas com localização externa?

Para definições de pacotes empacotados, não empacotados e empacotados com aplicações de localização externas, veja Visão geral de Implantação. Esse tópico também explica as vantagens e desvantagens de cada opção.

A minha aplicação WinUI vai atualizar-se automaticamente para os utilizadores finais?

Uma aplicação WinUI pode ser entregue através da Loja, de um ficheiro .appinstaller, ou através de um pacote MSI ou setup.exe existente. A Store e o AppInstaller suportam atualizações automáticas para utilizadores finais que tenham as atualizações automáticas ativadas, mas as aplicações MSI/setup.exe devem fornecer o seu próprio mecanismo de atualização.

Posso usar o Windows App SDK sem usar o MSBuild?

Geralmente, não. O WinUI e o Windows App SDK requerem MSBuild, razão pela qual o Visual Studio é um pré-requisito para desenvolver com eles. Embora tecnicamente seja possível construir aplicações do Windows App SDK que não usam o WinUI com outras cadeias de ferramentas, isso não é suportado.

Desempenho e otimização

O que posso fazer para que a minha aplicação Windows seja agradável aos utilizadores finais?

Consulte Tornar as aplicações fantásticas para o Windows.

Compatibility

Os meus utilizadores alguma vez terão de atualizar o Windows para usar a minha aplicação WinUI?

Utilizadores com Windows 10, versão 1809 ou posterior podem instalar aplicações WinUI sem atualizar o seu sistema operativo.

Posso direcionar o Arm64 com a minha aplicação WinUI?

Yes.

Descontinuações e migrações

O UWP / WinUI 2 está obsoleto?

Não. O UWP e o WinUI 2 continuam suportados e continuam a receber correções de bugs, fiabilidade e segurança. No entanto, a maioria das novas funcionalidades e capacidades é adicionada ao WinUI.

O suporte UWP para .NET 9 está disponível. Esta opção oferece um caminho de modernização para aplicações UWP que utilizam a versão mais recente do .NET.

Os objetivos do suporte ao .NET 9 UWP são:

  1. Proporcionar um melhor caminho de migração para programadores que queiram migrar para o WinUI.
  2. Remova dependências do .NET Native para que os programadores possam beneficiar das mais recentes funcionalidades .NET e C#.

Para mais informações, consulte o artigo do blogue: Modernize a sua aplicação UWP com suporte UWP pré-visualizado para .NET 9 e Native AOT.

Quando devo migrar uma aplicação UWP / WinUI 2 para o WinUI?

Os programadores de UWP não devem sentir-se pressionados a migrar se estiverem satisfeitos com o UWP e o seu conjunto de funcionalidades — para muitas aplicações, a escolha certa pode ser permanecer no UWP.

As aplicações que queiram beneficiar da mais recente plataforma Windows e dos investimentos em .NET devem considerar migrar para o Windows App SDK. Consulte Migrar da UWP para o SDK do Aplicativo Windows.

Quando é que *não* devo migrar uma aplicação UWP + WinUI 2 para o WinUI?

Continua a usar UWP se estiveres a construir para Xbox, Surface Hub ou HoloLens.

O WPF está obsoleto?

Não. O WPF é suportado, recomendado e continua a receber atualizações de funcionalidades. Consulte o roteiro do WPF no GitHub.

O WinForms está obsoleto?

Não. O WinForms é suportado e continua a receber atualizações de funcionalidades. Consulte o roteiro do Windows Forms no GitHub.

O Windows Runtime (WinRT) está obsoleto?

Não. WinRT é uma interface binária de aplicação (ABI) que permite a interoperabilidade entre várias línguas. O WinRT é a evolução do COM, e o Windows App SDK fornece a maior parte da sua funcionalidade através das APIs WinRT.

Notas de lançamento

Onde posso encontrar notas de atualização para o Windows App SDK?

As notas de lançamento mais recentes podem ser encontradas na página What's New .