UWP, acronimo di Universal Windows Platform, è un modello di piattaforma di sviluppo software introdotto da Microsoft alcuni anni fa. L’azienda di Redmond ha introdotto la piattaforma UWP contemporaneamente al lancio di Windows 10, nel luglio 2015. L’idea era quella di consentire agli sviluppatori di creare app eseguibili su dispositivi Windows differenti: PC, tablet, telefoni, console Xbox, dispositivi IoT e altro ancora. Una delle caratteristiche principali di UWP è infatti la capacità di adattare l’interfaccia e le funzionalità delle app in base al dispositivo sul quale sono eseguite.
UWP, un progetto naufragato: i motivi
La piattaforma UWP non ha avuto il successo sperato per diversi motivi. Proprio il fatto di poter funzionare su tutti i dispositivi, ha portato i programmatori a dover scendere comunque a compromessi nelle funzionalità e nell’esperienza utente. Inoltre, le storiche applicazioni Win32 rappresentano la maggior parte dei programmi desktop Windows: gli utenti si sono trovati a confrontarsi con un’offerta UWP ancora inadeguata preferendo continuare a usare i programmi tradizionali. Gli stessi sviluppatori hanno in molti casi continuato a investire sulle loro applicazioni storiche, senza imbarcarsi nella migrazione a UWP.
L’adozione delle applicazioni UWP si è rimasta piuttosto limitata, quasi marginale. Proprio per questo motivo, quello che prima si chiamava Windows Store e che poi è diventato Microsoft Store, inizialmente consentiva esclusivamente la pubblicazione di app UWP. Successivamente, però, Microsoft ha rivisto la sua posizione aprendo alle app Win32.
Alla fine, Microsoft stessa ha riconosciuto che UWP non era la soluzione migliore per lo sviluppo di applicazioni desktop per Windows e ha spostato la sua attenzione sul Windows App SDK, che include WinUI 3 (libreria di controlli UI, user interface, per Windows) e XAML. Già a fine 2021, la società guidata da Satya Nadella pubblicava le istruzioni per portare le app UWP su Windows App SDK.
La migrazione verso Windows App SDK
In precedenza, Windows App SDK era noto con vari nomi in fase di sviluppo, ad esempio Project Reunion. Si tratta di un kit di sviluppo che consente la creazione di applicazioni Windows moderne utilizzando una combinazione di strumenti e tecnologie come XAML, WinUI, .NET e altri elementi dell’ecosistema Microsoft.
Windows App SDK supera le limitazioni di UWP perché offre il supporto per tutte le versioni di Windows, anche quelle meno moderne. Inoltre, unifica i framework di sviluppo e SDK mettendo nelle mani degli sviluppatori un set di strumenti più completo e integrato.
Le classiche applicazioni Win32 tornano poi a rivestire un ruolo di primaria importanza in Windows App SDK: Microsoft ha capito di aver commesso un grave errore nel tentativo di accompagnarle sul viale del tramonto. Windows App SDK consente una maggiore integrazione e modernizzazione di queste applicazioni.
In generale, Windows App SDK offre funzionalità avanzate più opzioni per la creazione di app complesse e flessibili.
Windows 11 sancisce il definitivo abbandono di UWP
Gli sviluppatori che avessero in precedenza deciso di “salire sul treno” UWP non devono cestinare il lavoro svolto. In molti casi, infatti, la migrazione da UWP a Windows App SDK richiede solo pochi cambiamenti in termini di namespace per il codice relativo all’interfaccia grafica, mentre gran parte del codice restante può rimanere invariato.
Oggi uno dei leaker più noti al mondo in ambito Windows si è accorto di un importante cambiamento in Windows 11 che sancisce la fine di UWP. La cartella di sistema di Windows 11 integra infatti una serie di nuovi file eseguibili e librerie Microsoft.
Le ultime versioni di anteprima di Windows 11 dimostrano che Microsoft sta accantonando le app UWP supportando le applicazioni Win32 e XAML direttamente a livello di interfaccia del sistema operativo. Nella nuova struttura, Windows 11 non utilizza più applicazioni di sistema, pacchetti MSIX e app UWP.
Ne è ulteriore conferma il mancato caricamento all’avvio del processo ShellExperienceHost che fino ad oggi si occupava della gestione e dell’integrazione con l’interfaccia di Windows delle applicazioni UWP. Il nuovo processo ShellHost gestisce il Control Center di Windows 11 (l’area nella traybar con le varie impostazioni) attraverso risorse presenti nella cartella System32
, senza appoggiarsi a componenti aggiuntivi.