Conheça o winapp CLI da Microsoft, uma ferramenta open-source que revoluciona o desenvolvimento de apps Windows. Automatize tarefas como configuração de SDKs, manifestos e certificados, ideal para quem usa Electron, .NET, C++, Rust ou Dart. Otimize seu workflow e teste APIs modernas com Package Identity simplificada.

TL;DR: Microsoft lançou o
winapp, uma CLI open-source que automatiza tarefas chatas de desenvolvimento Windows (SDKs, manifestos, certificados, packaging). Se você desenvolve com Electron, .NET, C++, Rust ou Dart para Windows, isso vai te economizar horas de configuração manual.

A Microsoft anunciou em 22 de janeiro de 2026 o Windows App Development CLI (carinhosamente chamado de winapp), uma ferramenta de linha de comando open-source que promete acabar com a dor de cabeça de configurar ambiente de desenvolvimento Windows.
A ferramenta foi criada especialmente para desenvolvedores que trabalham fora do Visual Studio ou MSBuild - pense em devs web usando Electron, desenvolvedores C++ com CMake, ou qualquer pessoa trabalhando com .NET, Rust ou Dart. O winapp consolida tarefas que antes exigiam múltiplos passos manuais em comandos únicos e diretos.
O projeto já está em public preview no GitHub, e a Microsoft está pedindo feedback ativo da comunidade para direcionar o desenvolvimento das próximas features.
Se você já tentou desenvolver um app Windows fora do Visual Studio, sabe a confusão que é gerenciar SDKs, criar manifestos XML gigantes, gerar certificados de desenvolvimento e lidar com packaging MSIX. Era um processo manual, cheio de detalhes obscuros e propenso a erros.
Para você como desenvolvedor:
Menos configuração manual: Setup de ambiente que levava horas agora é um comando
Suporte a ferramentas modernas: Funciona com Electron, Rust, CMake e outros toolchains populares
Acesso fácil a APIs Windows: Use Windows AI, notificações, segurança sem complicação
CI/CD simplificado: GitHub Actions e Azure DevOps actions prontas
O grande diferencial:
Muitas APIs modernas do Windows (IA, notificações, MCP Hosts) exigem Package Identity - algo que antes forçava você a empacotar e instalar o app completo só pra testar uma feature. Com winapp, você adiciona identity ao executável em desenvolvimento e continua usando seu workflow normal. Isso muda tudo.
O winapp CLI abstrai várias complexidades específicas do ecossistema Windows:
Desenvolvimento Windows tradicionalmente envolve:
Baixar e configurar Windows SDK (e às vezes Windows App SDK)
Criar arquivos appxmanifest.xml manualmente
Gerar certificados self-signed para desenvolvimento
Criar assets de imagem em múltiplos tamanhos
Configurar packaging MSIX
Instalar certificados no sistema
Cada passo tem documentação espalhada, armadilhas não-documentadas e versões diferentes entre SDKs.
# Antes: 10+ passos manuais entre docs e ferramentas# Agora: um comando> winapp initO comando init faz tudo:
Download automático do SDK necessário
Gera projections (C++/WinRT inicialmente)
Cria manifest configurado
Gera assets padrão
Cria certificado de desenvolvimento
Configura dependências
Essa é a feature mais interessante. Muitas APIs Windows modernas checam se seu app tem Package Identity. Antes, isso significava:
Criar package MSIX completo
Instalar no sistema
Executar a versão instalada pra testar
Repetir a cada mudança
Agora com winapp:
> winapp create-debug-identity my-app.exeIsso injeta Package Identity diretamente no executável, permitindo que você continue usando npm start, cargo run ou qualquer comando de desenvolvimento normal enquanto testa APIs que requerem identity.
Se você desenvolve com Electron:
✅ Instale via npm: npm install --save-dev @microsoft/winappcli
✅ Use winapp node add-electron-debug-identity para debugging com Windows AI
✅ Crie addons nativos C++ ou C# pré-configurados com Windows SDK
✅ Acesse Windows AI APIs direto do Node.js com @microsoft/winapp-windows-ai
Se você usa .NET, C++, Rust ou Dart:
✅ Instale via WinGet: winget install microsoft.winappcli
✅ Configure ambiente: winapp init
✅ Gere manifesto: winapp manifest create
✅ Crie certificado dev: winapp cert generate
✅ Package final: winapp pack ./build-output --cert ./cert.pfx
Se você trabalha com CI/CD:
✅ Use GitHub/Azure DevOps action: setup-WinAppCli
✅ Automatize packaging no pipeline
✅ winapp restore recria ambiente exato em qualquer máquina
Timeline:
Agora: Public preview disponível - teste e dê feedback
Próximos meses: Mais comandos baseados em feedback da comunidade
Futuro: Possível integração com mais toolchains e frameworks
winapp initConfigura workspace completo com SDK, projections, manifest, assets e certificado.
# Na raiz do seu projeto> winapp initwinapp create-debug-identityAdiciona Package Identity a um executável para debugging de APIs que requerem identity.
> winapp create-debug-identity my-app.exewinapp manifest update-assetsAtualiza todos os assets de imagem no manifest a partir de uma logo.
> winapp manifest update-assets C:\images\logo.pngwinapp cert generateCria certificado self-signed para desenvolvimento e opcionalmente instala no sistema.
> winapp cert generatewinapp packEmpacota aplicação como MSIX pronto para distribuição.
> winapp pack ./build-output --cert ./devcert.pfxwinapp restoreRecria ambiente de desenvolvimento baseado na configuração do projeto (útil para CI/CD e novos devs no time).
> winapp restoreA Microsoft criou integração first-class com Electron via pacote npm:
Debugging com Package Identity:
# Injeta identity no processo Electron em execução> winapp node add-electron-debug-identity> npm start # Agora com acesso a Windows AI APIsAddons nativos pré-configurados:
# Scaffolding de addon C++ ou C# com Windows SDK> winapp node create-addonWindows AI direto do Node.js:
// Usando @microsoft/winapp-windows-aiconst { LanguageModel } = require('@microsoft/winapp-windows-ai');const model = await LanguageModel.create();const response = await model.generate('Explain quantum computing');winget install microsoft.winappclinpm install --save-dev @microsoft/winappcliRepositório GitHub (documentação completa)
Samples (exemplos prontos)
GitHub/Azure DevOps Action (para CI/CD)
O anúncio foi bem recebido, especialmente por desenvolvedores que trabalham com frameworks cross-platform. A principal reclamação histórica era a complexidade de configuração Windows comparada com macOS ou Linux - o winapp endereça exatamente isso.
Pontos positivos destacados:
Open-source desde o início (comunidade pode contribuir)
Foco em toolchains modernos (não só Visual Studio)
Package Identity para debugging resolve problema real
Integração Electron é bem pensada
Preocupações levantadas:
Ainda em preview - pode ter bugs e breaking changes
Cobertura de cenários limitada (time está pedindo feedback)
Documentação ainda sendo expandida
A Microsoft deixou claro que o winapp está em estágio inicial e pediu feedback ativo da comunidade. O roadmap será direcionado por:
Casos de uso reais reportados por desenvolvedores
Feature requests no GitHub
Cenários de desenvolvimento ainda não cobertos
A equipe está especialmente interessada em:
Novos comandos úteis
Integrações com outros toolchains
Melhorias na experiência de debugging
Automação de mais tarefas manuais
Créditos: Este artigo é baseado no anúncio oficial publicado por Nikola Metulev (Product Manager, Windows Platform & Developer) no Windows Developer Blog da Microsoft.
Fontes:
Relacionado:
O winapp CLI é uma ótima notícia para quem desenvolve apps Windows fora do ecossistema Microsoft tradicional. Se você usa Electron, Rust, ou qualquer toolchain moderno, vale a pena testar.
É especialmente útil se você quer experimentar Windows AI APIs, notificações ou outras features modernas sem mergulhar em complexidade de packaging.
O fato de ser open-source e estar em preview significa que há oportunidade real de moldar a ferramenta através de feedback. Se você tem pain points específicos em desenvolvimento Windows, esse é o momento de reportar.
Próximo passo sugerido: Instale o CLI, rode winapp init em um projeto teste e veja quanto tempo você economiza vs setup manual. Depois, compartilhe feedback no GitHub para ajudar a melhorar a ferramenta.
Boa sorte, e menos tempo configurando significa mais tempo codando! 🚀