Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Este artigo contém a informação de que precisa para começar a construir aplicações para Windows e escolher o framework de interface que se adequa ao seu conjunto de competências e cenário.
O Windows oferece uma ampla gama de linguagens, estruturas e ferramentas para criar aplicativos, incluindo WinUI, React Native for Desktop, WPF, C++, C#, .NET e uma variedade de estruturas multiplataforma. Aqui, fornecemos informações para ajudá-lo a decidir qual é a melhor opção para você.
WinUI
Use a WinUI e o SDK de Aplicativos Windows para criar aplicativos com ótima aparência e aproveitar as versões mais recentes do Windows. Se és novo no desenvolvimento de aplicativos para Windows, ou estiveres a começar a trabalhar numa nova aplicação do Windows, a WinUI oferece os meios necessários para criar excelentes aplicações de para Windows 11.
WinUI é uma camada de interface do usuário baseada em marcação XAML que contém controles e estilos modernos para criar aplicativos do Windows. Como a camada de interface do usuário nativa para o SDK de Aplicações Windows, ele incorpora Fluent Design, dando a cada aplicação do Windows a sensação polida que os clientes esperam.
Observação
O SDK de Aplicativos Windows é um conjunto de novos componentes e ferramentas de desenvolvedor que representam a evolução mais recente na plataforma de desenvolvimento de aplicativos do Windows. O SDK de Aplicativos Windows fornece um conjunto unificado de APIs e ferramentas que os aplicativos da área de trabalho no Windows 11 e no nível inferior ao Windows 10, versão 1809, podem usar de forma consistente.
Enquanto WinUI é a camada de interface do usuário nativa, você pode usar o SDK de aplicativos do Windows com WPF, WinForms ou aplicativos Win32. Se desenvolveste aplicações para Windows anteriormente, mas queres começar a usar o Windows App SDK numa aplicação existente, consulta Guias específicos do Framework.
React Native para Desktop
O React Native é uma plataforma de desenvolvimento que permite a criação de aplicativos multiplataforma. O React Native for Desktop inclui o React Native para Windows e macOS, trazendo suporte ao React Native para o SDK do Windows. O React Native for Desktop permite que você use JavaScript para criar aplicativos nativos do Windows para todos os dispositivos compatíveis com o Windows 10 e o Windows 11. Este suporte inclui PCs, tablets, 2 em 1, Xbox, dispositivos de Realidade Mista e muito mais.
Com o React Native for Desktop, você escreve a maior parte ou todo o código do seu aplicativo em JavaScript ou TypeScript. A estrutura produz um aplicativo UWP XAML nativo. Se seu aplicativo precisar chamar uma API de plataforma, você geralmente pode fazê-lo por meio de um dos muitos módulos da comunidade. Se um módulo ainda não existe, você pode facilmente escrever um módulo nativo para expô-lo.
Aqui estão algumas razões para escolher o React Native for Desktop:
- Você deseja compartilhar código entre plataformas tanto quanto possível, ou você tem propriedades da Web com as quais deseja compartilhar código.
- Maior produtividade do desenvolvedor e loop interno, graças à atualização rápida.
- Os fundamentos do seu aplicativo (desempenho, acessibilidade, internacionalização) são tão bons quanto um aplicativo UWP nativo.
- Você tem experiência e preferência por JavaScript ou TypeScript.
- Você deseja aproveitar bibliotecas exclusivamente JavaScript no npmjs.com, assim como muitas bibliotecas nativas.
- Seu aplicativo usa os controles nativos, aparência visual, animações e cores, para que pareça integrado à linguagem de design usada no Windows. Além disso, os aplicativos React Native for Desktop não precisam comprometer o conjunto de APIs que podem chamar. A estrutura permite que você chame APIs da plataforma, bem como escreva seus próprios gerenciadores de visualização e módulos nativos.
- Grande e crescente dinâmica comunitária, com muitos módulos comunitários.
Para obter mais informações sobre o React Native for Desktop, consulte os seguintes links:
- repositório do React Native no GitHub para Windows
- repositório React Native para macOS no GitHub
- Referência da API
- recursos do React Native para Desktop
WPF
WPF é uma estrutura bem estabelecida para aplicações de ambiente de trabalho do Windows com acesso ao .NET ou ao .NET Framework. Como o WinUI, ele também usa marcação XAML para separar a interface do usuário do código. O WPF fornece um conjunto abrangente de recursos de desenvolvimento de aplicativos que incluem controles, vinculação de dados, layout, gráficos 2D e 3D, animação, estilos, modelos, documentos, mídia, texto e tipografia. O WPF faz parte do .NET, portanto, você pode criar aplicativos que incorporam outros elementos da API do .NET.
Além disso, agora você pode integrar um ambiente de sandbox em seus aplicativos WPF empacotados, fornecendo uma camada extra de segurança. Esse aprimoramento requer pouca ou nenhuma alteração no seu código, graças ao novo recurso de segurança Win32 App Isolation.
Dica
Se você já investiu no WPF, pode continuar a usá-lo e aproveitar as opções de modernização no .NET 9. Você pode criar seus aplicativos sabendo que a Microsoft continua a investir no WPF. Consulte o de perguntas frequentes para desenvolvedores do Windows para obter mais informações.
Se tens um aplicativo WPF .NET, também tens acesso às funcionalidades modernas da plataforma Windows e APIs fornecidas pelo Windows App SDK. Para obter mais informações, consulte Usar o SDK do Aplicativo Windows em um aplicativo WPF e Modernizar seus aplicativos da área de trabalho.
Dica
Se precisar de mais ajuda para decidir qual estrutura é a melhor opção para seu aplicativo, consulte o módulo de treinamento Escolha a melhor estrutura de aplicativo para um projeto de desenvolvimento do Windows.
Outras opções de plataforma nativa
Muitos aplicativos para Windows são escritos usando Win32, Windows Formsou UWP. Cada uma dessas estruturas é suportada e continua a receber correções de bugs, confiabilidade e segurança, mas com níveis variáveis de investimento para novos recursos e estilos. Para obter mais informações sobre esses tipos de aplicativos, consulte as guias a seguir.
Os aplicativos de área de trabalho Win32 (também chamados aplicativos de área de trabalho clássicos) são o tipo de aplicativo original para aplicativos nativos do Windows que exigem acesso direto ao Windows e hardware. Esse acesso torna o Win32 o tipo de aplicativo de escolha para aplicativos que precisam do mais alto nível de desempenho e acesso direto ao hardware do sistema.
Usando a API Win32 com C++, você pode alcançar os mais altos níveis de desempenho e eficiência. Você assume mais controle da plataforma de destino com código não gerenciado do que é possível em um ambiente de tempo de execução gerenciado como WinRT e .NET. No entanto, exercer esse nível de controle sobre a execução do seu aplicativo requer maior cuidado e atenção para acertar, e troca a produtividade do desenvolvimento pelo desempenho do tempo de execução.
Aqui estão alguns destaques do que a API do Win32 e o C++ oferecem para permitir que você crie aplicativos de alto desempenho.
- Otimizações no nível de hardware, incluindo controle rígido sobre alocação de recursos, tempo de vida de objetos, layout de dados, alinhamento, empacotamento de bytes e muito mais.
- Acesso a conjuntos de instruções orientadas para o desempenho, como SSE e AVX, através de funções intrínsecas.
- Programação genérica eficiente e segura para tipos usando modelos.
- Contentores e algoritmos eficientes e seguros.
- DirectX, em particular Direct3D e DirectCompute.
- Use C++/WinRT para criar aplicativos Win32 modernos de área de trabalho com acesso de primeira classe às APIs do Tempo de Execução do Windows (WinRT).
Além disso, agora você pode integrar um ambiente de área restrita em seus aplicativos Win32, fornecendo uma camada extra de segurança. Esse aprimoramento requer pouca ou nenhuma alteração no seu código, graças ao novo recurso de segurança Win32 App Isolation.
Você também tem acesso aos recursos modernos da plataforma Windows e APIs fornecidos pelo SDK de Aplicativo Windows. Para obter mais informações, consulte Usar o SDK do Aplicativo Windows em um projeto existente e Modernizar seus aplicativos da área de trabalho.
Outras opções multiplataforma
Se você precisar que seu aplicativo seja multiplataforma, além do React Native for Desktop, considere o .NET MAUI,Blazor Hybrid ou um Progressive Web App (PWA). Muitas outras opções estão disponíveis (aqui está uma lista de opções populares), mas essas opções são bons pontos de partida.
O .NET MAUI aproveita o poder do WinUI no Windows, ao mesmo tempo em que permite a execução em outros sistemas operacionais. Blazor Hybrid combina estruturas de cliente nativo para desktop e dispositivos móveis com .NET e Blazor. Outra opção multiplataforma, Progressive Web Apps (PWAs), são sites que funcionam como aplicativos instalados e nativos no Windows e outras plataformas suportadas, enquanto funcionam como sites comuns em navegadores.
Para obter mais informações, consulte as guias a seguir.
.NET Multi-platform App UI (MAUI) é uma estrutura de código aberto e multiplataforma para criar aplicativos Android, iOS, macOS e Windows. Com a MAUI do .NET, você pode aproveitar a interface do usuário nativa e os serviços de cada plataforma a partir de uma única base de código .NET. Como o .NET MAUI favorece experiências nativas da plataforma, ele usa a WinUI e o SDK de aplicativos do Windows para que os aplicativos obtenham a experiência de usuário mais recente no Windows. Essa abordagem dá aos seus aplicativos acesso a tudo o que você obtém com o WinUI, além da capacidade de alcançar outras plataformas.
O .NET MAUI para Windows é uma ótima opção se:
- Deseja compartilhar o máximo de código .NET possível entre aplicativos móveis e de desktop.
- Deseja enviar seu aplicativo além do Windows para outros destinos móveis e de desktop com experiências de plataforma nativas.
- Deseja usar C# e/ou XAML para criar aplicativos entre plataformas.
- Estão usando Blazor para desenvolvimento web e desejam incluir tudo ou parte disso em um aplicativo móvel ou desktop.
Para obter mais informações sobre a MAUI do .NET, consulte os seguintes links:
Comparação da estrutura de desenvolvimento de aplicativos e seus recursos
Você tem muitas opções para desenvolver aplicativos para Windows. A melhor opção para você depende dos requisitos do aplicativo, do código existente e da familiaridade com a tecnologia. A tabela a seguir lista as estruturas de desenvolvimento de aplicativos mais populares disponíveis no Windows e os recursos suportados por cada estrutura.
| Funcionalidade | .NET MAUI | Blazor Híbrido | React Native para Desktop | UWP XAML (Windows.UI.Xaml) | Win32 (MFC ou ATL) | Windows Forms | WinUI 3 | WPF |
|---|---|---|---|---|---|---|---|---|
| Idioma | C# | C# | JavaScript, TypeScript | C#, C++, Visual Basic | C++, Ferrugem | C#, Visual Basic | C#, C++ | C#, Visual Basic |
| idioma da interface do usuário | XAML/Código | Navalha | JSX | XAML | Código | Código | XAML | XAML |
|
Designer de IU (arrastar &, soltar) |
Não suportado | Não suportado | Não suportado | Suportado | Não suportado | Suportado | Não suportado | Suportado |
| Depuração de UI | Atualização Rápida | Atualização Rápida | Atualização Rápida | Atualização Rápida | - | Atualização Rápida | Atualização Rápida | Atualização Rápida |
| de Design Fluente | Suportado | Suportado | Suportado | Suportado (via WinUI 2) | Não suportado | Não suportado | Suportado | Não suportado |
| .NET | .NET | .NET | N/A | .NET Core & .NET nativo | N/A | .NET & .NET Framework | .NET | .NET & .NET Framework |
| SDK de Aplicações Windows | Suportado (mais informações) | Suportadovia MAUI | Suportado (mais informações) | Não suportado | Suportado | Suportado (mais informações) | Suportado | Suportado (mais informações) |
| Ótimo ao toque | Suportado | Suportado | Suportado | Suportado | Não suportado | Não suportado | Suportado | Não suportado |
| multiplataforma | Suportado | Suportado | Suportado | Não suportado | Não suportado | Não suportado | Não suportado | Não suportado |
| aplicativos Xbox/HoloLens | Não suportado | Não suportado | Suportado | Suportado | Não suportado | Não suportado | Não suportado | Não suportado |
| Área restrita (AppContainer) | Não suportado | Não suportado | Suportado | Suportado | Não suportado | Não suportado | Não suportado | Não suportado |
| Atualmente suportado | Suportado | Suportado | Suportado | Suportado | Suportado | Suportado | Suportado | Suportado |
| Receber atualizações | Suportado | Suportado | Suportado | Suportado (segurança e correção de bugs) | Suportado | Suportado | Suportado | Suportado |
| Plano de Ação | GitHub | GitHub | GitHub | não aplicável | não aplicável | GitHub | GitHub | GitHub |
Saiba mais sobre cada uma dessas opções:
- FAQ de desenvolvedores do Windows
- Interface do usuário do aplicativo multiplataforma .NET (.NET MAUI)
- ASP.NET Core Blazor híbrido
- React Native para Desktop
- da Plataforma Universal do Windows (UWP)
- Recomendações para escolher entre ATL e MFC
- Formulários do Windows
- Fundação de Apresentação do Windows (WPF)
- WinUI no do SDK de Aplicativo Windows (WinUI 3)
Próximos passos
-
Use a WinUI para começar a desenvolver aplicativos para o Windows
WinUI é a plataforma recomendada para aplicativos do Windows. Estes passos ajudam-no rapidamente a começar.
-
Configurar seu ambiente de desenvolvimento no Windows
O Windows não é ótimo apenas para desenvolver aplicativos executados no Windows. É também um ambiente poderoso para o desenvolvimento de aplicativos para qualquer plataforma. Saiba mais sobre as ferramentas e opções disponíveis para maximizar o seu desenvolvimento.
Windows developer