Per creare un’app Windows moderna non è più necessario installare per forza Visual Studio, configurare manualmente SDK, certificati e manifest, quindi passare attraverso una lunga sequenza di strumenti separati. Microsoft sta cercando di comprimere buona parte di quel lavoro in una Windows App Development CLI (winapp CLI), affiancata da template WinUI 3 e strumenti di intelligenza artificiale. L’obiettivo dichiarato è ambizioso: partire da una cartella vuota e arrivare a un’app Windows funzionante, pacchettizzata e potenzialmente pronta per il Microsoft Store in circa 30 minuti, utilizzando strumenti disponibili gratuitamente.
Lo sviluppo desktop Windows ha attraversato Win32, Windows Forms, WPF, UWP e infine WinUI 3 con Windows App SDK; nel frattempo molti sviluppatori hanno spostato il proprio flusso di lavoro verso VS Code, terminale, CMake, Electron, Rust, Flutter e ambienti multipiattaforma.
Visual Studio rimane uno strumento molto potente, ma installarlo solo per ottenere alcune componenti Windows può apparire sproporzionato. Di winapp CLI avevamo già parlato: si tratta di un’applicazione (download) che prova a creare un livello comune sopra SDK, packaging, identità applicativa, firma e strumenti di compilazione.
Cos’è winapp CLI e perché Microsoft la considera importante
winapp CLI è un progetto Microsoft open source, distribuito pubblicamente su GitHub: attualmente è un progetto che si trova ancora in fase sperimentale.
Tuttavia, il quickstart ufficiale parla esplicitamente di circa 30 minuti per creare e pubblicare un’app, con GitHub Copilot utilizzabile anche attraverso il piano gratuito. È un dato che si riferisce a una demo guidata e non al tempo necessario per realizzare una propria applicazione completa.
Microsoft considera comunque la riga di comando (CLI, command-line interface) una modalità di sviluppo Windows di primo livello, non soltanto un’alternativa riservata agli utenti esperti. La CLI agisce soprattutto come strato di automazione sopra componenti Windows che prima richiedevano configurazioni separate.
L’installazione è volutamente semplice: Microsoft distribuisce il pacchetto attraverso WinGet e indica il comando winget install Microsoft.winappcli --source winget.
Per i progetti Electron esiste inoltre il pacchetto npm @microsoft/winappcli, mentre GitHub Actions e Azure DevOps possono utilizzare un’apposita azione di setup. Sono disponibili binari x64 e ARM64.

Da una cartella vuota a una vera app WinUI 3
Il percorso proposto da Microsoft utilizza .NET 10, i template ufficiali WinUI e winapp CLI. Una volta installati i template con dotnet new install Microsoft.WindowsAppSDK.WinUI.CSharp.Templates, il progetto può nascere direttamente dalla shell.
La documentazione più recente mostra, ad esempio, una sequenza estremamente corta: creare il progetto mediante dotnet new, entrare nella relativa directory e avviarlo con dotnet run.
I template includono Microsoft.Windows.SDK.BuildTools.WinApp, che collega il normale ciclo di esecuzione di .NET ai meccanismi necessari per avviare correttamente un’app WinUI dotata della sua identità.
Una parte della complessità dello sviluppo Windows deriva infatti dal modo con cui il sistema identifica e registra le applicazioni.
App pacchettizzate e non pacchettizzate
Un’app packaged è distribuita tramite un pacchetto, tipicamente MSIX, che contiene manifest, identità, metadati e informazioni necessarie per installazione, aggiornamento e integrazione con Windows. Un’app unpackaged, invece, può essere avviata come un normale eseguibile senza passare da quel meccanismo.
WinUI 3 supporta entrambe le modalità e anche una soluzione intermedia, detta packaged with external location, nella quale Windows assegna un’identità al programma pur lasciando i file dell’app fuori dal pacchetto. La differenza è importante perché alcune API e integrazioni di Windows funzionano solo quando il sistema può associare l’app a una package identity: è il caso, per esempio, di determinate notifiche, registrazioni di protocollo, attività in background e altre funzioni legate al modello applicativo moderno. I nuovi strumenti Microsoft cercano quindi di automatizzare registrazione e identità durante sviluppo e debug, evitando allo sviluppatore di dover gestire manualmente manifest e pacchetti soltanto per provare queste funzionalità.
La modalità da terminale richiede comunque una macchina Windows opportunamente configurata. Microsoft indica .NET SDK 10, i template WinUI e l’attivazione della Developer Mode per alcuni scenari.
L’AI entra nel processo con l’agente winui-dev
La parte che Microsoft enfatizza maggiormente nelle nuove indicazioni ha a che vedere con l’abbinamento tra winapp CLI e un agente specializzato chiamato winui-dev.
I tecnici dell’azienda guidata da Satya Nadella hanno preparato un plugin che fornisce agli agenti istruzioni e conoscenze specifiche su WinUI 3 e Windows App SDK.
Il plugin comprende otto skill: tra queste figurano la configurazione della macchina, il ciclo sviluppo-compilazione-esecuzione, la generazione delle interfacce WinUI, la revisione del codice, i test UI, il packaging MSIX e la migrazione di applicazioni WPF. L’agente seleziona gli strumenti in funzione della richiesta.
Con GitHub Copilot CLI, per esempio, Microsoft mostra prompt del tipo @winui-dev Build me a WinUI 3 app.... L’agente può generare o modificare il progetto, compilare il codice, osservare gli errori restituiti dagli strumenti e correggere progressivamente l’applicazione.
Va detto però che il plugin non rende magicamente affidabile il codice prodotto da un modello generativo. La stessa documentazione del progetto avverte che gli output sono suggerimenti e devono essere controllati prima di qualsiasi intervento o utilizzo in produzione.
Una trasformazione più importante dei 30 minuti promessi
La parte più significativa dell’iniziativa Microsoft non è la possibilità di costruire una piccola app in mezz’ora. È il tentativo di rendere lo sviluppo Windows più vicino alle pratiche ormai comuni tra gli sviluppatori: terminale, strumenti componibili, repository Git, automazione CI/CD, editor leggero e assistenti AI capaci di interrogare documentazione e tool reali.
winapp CLI riunisce in un’unica interfaccia operazioni che prima richiedevano strumenti e procedure differenti: gestione degli SDK, identità dell’applicazione, manifest, certificati, creazione dei pacchetti MSIX, firma e distribuzione. I template dotnet new preparano automaticamente la struttura iniziale del progetto, evitando di creare e configurare a mano numerosi file; winui-dev, invece, fornisce agli agenti AI istruzioni specifiche su WinUI 3 e Windows App SDK. Sono componenti diversi, ma lavorano nella stessa direzione: ridurre configurazioni preliminari, passaggi ripetitivi e possibilità di errore prima di arrivare a un’applicazione che compila e può essere eseguita.
Per chi sviluppa applicazioni multipiattaforma il vantaggio potrebbe risultare ancora maggiore: Electron, Rust, Tauri o Flutter possono continuare a costituire la base del progetto mentre winapp CLI gestisce diversi punti di contatto con Windows. Non occorre riscrivere tutto per ottenere un’identità applicativa o preparare un MSIX.
La cautela rimane d’obbligo, perché gli strumenti sono giovani e l’AI non sostituisce revisione, test e conoscenza della piattaforma. Né qui, né in generale. Tuttavia, separare lo sviluppo Windows dall’obbligo di utilizzare un IDE monolitico sta trasformando molte operazioni storicamente macchinose in comandi riproducibili.