Partilhar via


Perguntas Frequentes sobre Desenvolvimento de Windows App

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 panorama do desenvolvimento de aplicações para Windows.
  • Desenvolvimento nativo de aplicações apenas para Windows com WinUI 3, Windows Presentation Foundation (WPF) e Windows Forms (WinForms).
  • Kit de Desenvolvimento de Software (SDK) e Windows App SDK.
  • Segmentar o sistema Windows como parte da sua estratégia de desenvolvimento multiplataforma.
  • Desenvolvimento híbrido e de aplicações web com .NET MAUI, Blazor e ASP.NET Core.
  • Como escolher uma abordagem enquanto entende os investimentos da Microsoft.

Panorama de desenvolvimento de Windows app

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

Para uma excelente análise das opções atuais para programadores Windows, veja o episódio mais recente do Windows Dev Chat, Escolher a sua plataforma de desenvolvimento ideal, onde 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 da cloud services?

Na era dos cloud services, o desenvolvimento de aplicações para clientes continua a ser 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: As aplicações cliente são frequentemente a primeira interação dos utilizadores com os 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 Cloud: Uma aplicação cliente bem integrada pode sincronizar facilmente com os serviços de backend na cloud, permitindo acesso a dados em tempo real e escalabilidade fluida à medida que a sua base de utilizadores 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

Qual é a Windows App SDK?

O Windows App SDK é uma plataforma de desenvolvimento de aplicações Windows que permite criar aplicações de ambiente de trabalho bonitas, modernas e retrocompatíveis (até ao Windows 10 1809). O WinUI é a framework de interface que vem com o Windows App SDK.

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

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

O Windows App SDK é uma nova plataforma de desenvolvimento que permite criar aplicações de ambiente de trabalho modernas que podem ser instaladas em várias versões do Windows (até Windows 10 1809). Ao construir 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 Windows App SDK não substitui o SDK do Windows. Em vez disso, o Windows App SDK complementa o SDK do Windows. 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 ainda podem utilizar APIs do Windows SDK, dependendo das necessidades funcionais. Com o tempo, mais funcionalidades do Windows SDK passarão para o Windows App SDK.

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 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: Os frameworks nativos são mantidos e suportados ativamente pela Microsoft, garantindo acesso às últimas atualizações e funcionalidades.
Que framework devo usar para aproveitar os mais recentes investimentos da Microsoft em desenvolvimento Windows app?

Se você estiver criando um novo aplicativo somente para Windows, recomendamos o uso da WinUI. O WinUI é o mais recente framework nativo de interface para desenvolvimento de aplicações Windows app e foi concebido para funcionar numa vasta gama 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 Windows App SDK / WinUI na minha Windows app?

Note que WinUI (um framework de UI) 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. Uma funcionalidade chamada ilhas XAML está em desenvolvimento para hospedar conteúdos WinUI noutras 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. As aplicações UWP não são suportadas pelo Windows App SDK.

Isto significa que as aplicações WPF/MFC/WinForms podem usar APIs 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 Usar o Windows App SDK num projeto existente para mais informações.

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

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

Outros IDEs e fluxos de trabalho podem funcionar, mas 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 e WinUI para UWP?

WinUI (anteriormente referido como WinUI 3) é o mais recente framework nativo de UI para desenvolvimento Windows app. 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.

WinUI para UWP (anteriormente referido como WinUI 2) é um conjunto de controlos e estilos de interface construídos sobre o UWP. Proporciona um aspeto moderno para aplicações UWP e foi concebido para Windows 10.

Quando construo uma aplicação usando Windows App SDK e 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 para UWP não é um tipo de aplicação, mas sim um conjunto de componentes usados em aplicações UWP.

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

Não. O Windows App SDK não pode ser usado em aplicações UWP, e o WinUI para UWP não pode ser combinado com o WinUI. Ver Migrar do UWP para o Windows App SDK.

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: aplicações UWP que utilizam .NET têm de atualizar para .NET 6 ou posterior. 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 Transição para C++/WinRT a partir de C++/CX.

Para mais informações, consulte Migrar do 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 empacotar/distribuir a minha aplicação WinUI?

Consulte Visão geral da implantação.

Onde posso encontrar Windows App SDK orientação sobre migração?

Ver Migrar do UWP para o Windows App SDK.

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 do WPF para o WinUI: Muitos conceitos mantêm-se, mas o conjunto de controlos e as APIs diferem.
Tem Visual Studio um designer de design surface / UI para o 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. O trabalho começou num designer de UI do Visual Studio para WinUI na Windows App SDK 1.7, mas ainda não há um prazo para o seu lançamento.

O Windows App SDK inclui o WinUI?

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

Inclui Windows App SDK WinUI para UWP?

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

O WinUI para UWP e o WinUI são construídos com base na mesma tecnologia?

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

Posso usar o WinUI sem usar 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 empacotadas.

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

As ilhas XAML permitem alojar controlos modernos baseados em XAML ao lado de interfaces de utilizador Win32 existentes de outras frameworks como WinForms e WPF.

Atualmente, as Ilhas XAML suportam a maioria dos sistemas XAML e WinUI para controlos UWP. 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 de 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 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 Windows App SDK?

Yes. Veja Aplique 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 muito em WPF, devo continuar a usar 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 .NET Framework WPF apps para a plataforma .NET mais recente. Analisa a sua base de código e fornece orientações sobre como a atualizar.

Se construir uma nova aplicação WPF, vai parecer desatualizada comparada com outras novas aplicações do Windows?

Ao desenvolver uma aplicação WPF com .NET 9 ou posterior, pode garantir que a sua aplicação corresponde ao aspeto moderno e elegante 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 a cores de destaque 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 prancheta

Desenvolvimento nativo multiplataforma

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

Se estiver a alcançar utilizadores em múltiplos sistemas operativos, desenvolver 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 que as aplicações .NET MAUI vão funcionar bem no Windows?

Quando constróis uma aplicação MAUI .NET 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 por baixo. Isto garante que as aplicações MAUI .NET funcionam bem em cada plataforma e oferecem uma experiência nativa ao utilizador.

Como pode a .NET MAUI fornecer APIs nativas para dispositivos em todas as plataformas?

.NET MAUI oferece uma experiência unificada de .NET para Windows, iOS, Android e macOS. Abstrai mais de 60 APIs específicas de plataforma num único conjunto de APIs multiplataforma, abrangendo áreas como storage, 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 com o WinUI e depois integrar .NET MAUI se eventualmente quiser focar em cenários multiplataforma?

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

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.

Veja a documentação do React Native para Desktop 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 mixed reality.

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 Windows App SDK não suporta estas plataformas. Para desenvolvimento de jogos, usa o Microsoft Game Development Kit.

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

Se estiver a direcionar tanto para o Windows como para 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 é que eu construo aplicações web progressivas com sensação de aplicação nativa (PWAs) no Windows?

Ver Desenvolvimento Web em Windows e Visão Geral do Progressive Web Apps.

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 MAUI .NET 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 MAUI .NET. 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 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 no .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 oferecem 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 web apps baseados em .NET que fiquem bem nos navegadores modernos do Windows?

As Web apps oferecem o alcance mais amplo de qualquer plataforma de aplicações cliente. Opções para criar .NET web apps bonitas incluem:

  • Aplicações ASP.NET Core com Razor Pages
  • Aplicações MVC ASP.NET Core
  • 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 frameworks para criar apps direcionados ao Windows! Como é que eu 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, 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 escolher 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:

  • O Blazor é recomendado para construir web apps front-end com .NET. Permite construir tanto o front-end como o back-end usando .NET, poupando tempo e custos, e é especialmente bom para aplicações empresariais.
  • As web apps em JavaScript continuam a fazer sentido se quiseres tirar partido das 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 a Windows 11 File Explorer e a aplicação Fotos.

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

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

Veja mais na vitrine de clientes .NET.

Quem está a criar WPF apps hoje?

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

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

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

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

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 Windows App SDK sem usar MSBuild?

Geralmente, não. O WinUI e o Windows App SDK exigem MSBuild, razão pela qual 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 Windows app pareça ótima para os utilizadores finais?

Consulte desenvolvimento de aplicações Windows - Melhores práticas e visão geral dos fundamentos e desempenho de aplicações 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.

Depreciações e migrações

Os UWP / WinUI para UWP estão obsoletos?

Não. O UWP e o WinUI para UWP 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.

Está disponível suporte UWP para .NET 9. Esta opção oferece um caminho de modernização para aplicações UWP usando 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 de pré-visualização para .NET 9 e AOT nativo.

Quando devo migrar uma aplicação UWP / WinUI 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. Ver Migrar do UWP para o Windows App SDK.

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

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

Está WPF descontinuado?

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

O WinForms está obsoleto?

Não. O WinForms é suportado e continua a receber atualizações de funcionalidades. Consulte o Roadmap Windows Forms em 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 lançamento para Windows App SDK?

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