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.


O que aconteceu

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.


Por que isso importa

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.


Contexto técnico

O winapp CLI abstrai várias complexidades específicas do ecossistema Windows:

O problema que ele resolve

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.

Como o CLI funciona

# Antes: 10+ passos manuais entre docs e ferramentas
# Agora: um comando
> winapp init

O 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

Package Identity sem packaging completo

Essa é a feature mais interessante. Muitas APIs Windows modernas checam se seu app tem Package Identity. Antes, isso significava:

  1. Criar package MSIX completo

  2. Instalar no sistema

  3. Executar a versão instalada pra testar

  4. Repetir a cada mudança

Agora com winapp:

> winapp create-debug-identity my-app.exe

Isso 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.


O que muda na prática

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


Principais comandos do CLI

winapp init

Configura workspace completo com SDK, projections, manifest, assets e certificado.

# Na raiz do seu projeto
> winapp init

winapp create-debug-identity

Adiciona Package Identity a um executável para debugging de APIs que requerem identity.

> winapp create-debug-identity my-app.exe

winapp manifest update-assets

Atualiza todos os assets de imagem no manifest a partir de uma logo.

> winapp manifest update-assets C:\images\logo.png

winapp cert generate

Cria certificado self-signed para desenvolvimento e opcionalmente instala no sistema.

> winapp cert generate

winapp pack

Empacota aplicação como MSIX pronto para distribuição.

> winapp pack ./build-output --cert ./devcert.pfx

winapp restore

Recria ambiente de desenvolvimento baseado na configuração do projeto (útil para CI/CD e novos devs no time).

> winapp restore

Integração especial com Electron

A 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 APIs

Addons nativos pré-configurados:

# Scaffolding de addon C++ ou C# com Windows SDK
> winapp node create-addon

Windows AI direto do Node.js:

// Usando @microsoft/winapp-windows-ai
const { LanguageModel } = require('@microsoft/winapp-windows-ai');

const model = await LanguageModel.create();
const response = await model.generate('Explain quantum computing');

Como começar

Instalação geral (WinGet):

winget install microsoft.winappcli

Instalação para projetos Electron (npm):

npm install --save-dev @microsoft/winappcli

Guias de início rápido:

Recursos úteis:


Opinião da comunidade

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


O que vem por aí

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:


Conclusão

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! 🚀