Home Software Sviluppo Come passare da Win32 a Universal Windows Platform

Come passare da Win32 a Universal Windows Platform

Il lancio di Windows 10 S dimostra come Microsoft stia considerando attentamente un modello di distribuzione e utilizzo delle applicazioni più simile a quello Apple per macOS e iOS. Windows 10 S prevede l’utilizzo solo di applicazioni UWP (Universal Windows Platform) che inoltre possono essere scaricate solo dal Windows Store.

Questo dovrebbe dare più controllo sulle applicazioni eseguite (le app UWP sono firmate digitalmente dagli sviluppatori) e una esecuzione del software molto più “blindata”.

Windows 10 S è per certi versi solo un test e nemmeno di quelli ferrei, visto che il sistema operativo “chiuso” è in realtà sbloccabile facilmente pagando qualche euro.

Ma Microsoft scommette sulla sua diffusione e questo dovrebbe dare una nuova spinta ad abbandonare le applicazioni Win32 tradizionali in favore delle AppX UWP. Un concetto che ovviamente tocca molto da vicino il lavoro degli sviluppatori. E che Microsoft ha cercato di semplificare.

Il modello delle applicazioni UWP promette di avere successo soprattutto per le sue caratteristiche di sicurezza. Le AppX sono pacchetti che di fatto si comportano come piccole macchine virtuali il cui raggio d’azione è limitato a un ambiente controllato (una sandbox) per evitare problemi di sicurezza e incompatibilità con altre applicazioni.

Ad esempio, le AppX usano un filesystem virtuale che viene salvato con l’applicazione stessa e lo stesso accade per le variabili di registro.

Dato che non è possibile riscrivere da zero qualsiasi applicazione Win32 già presente in una sua versione UWP, diventa necessario avere gli strumenti per convertirla velocemente. In effetti esistono e sono il frutto di quello che in origine si chiamava Project Centennial e ora ha la denominazione ufficiale di Desktop Bridge.

Desktop Bridge non è un’applicazione ma un insieme di moduli che permettono di “impacchettare” un software Win32 in un formato analogo a UWP. Con qualche limitazione, ad esempio che l’applicazione convertita non opera davvero in una sandbox ed è quindi un po’ più (potenzialmente) pericolosa dal punto di vista della sicurezza. Desktop Bridge inoltre offre più strade di conversione, non un solo approccio.

Il percorso di migrazione più semplice è offerto da Desktop App Converter. Questo modulo non richiede nemmeno il codice sorgente dell’applicazione da convertire in UWP, semplicemente impacchetta il suo installer in modo tale che operi come una AppX.

Descritta così l’operazione sembra semplice, in realtà richiede tra l’altro di controllare tutta una serie di requisiti dell’applicazione Win32, di registrare i server COM necessari e di generare i certificati digitali di identificazione. Il risultato è un pacchetto AppX, anche distribuibile sul Windows Store.

Un passo in più

Se abbiamo a disposizione il codice sorgente della nostra applicazione Win32 è possibile fare di più e meglio. Usando alcuni strumenti inclusi ancora in Desktop Bridge e nel SDK di Windows 10 si può effettivamente migrare il codice stesso al mondo UWP. Se poi si mette in gioco Visual Studio è anche possibile, contestualmente alla conversione, iniziare a inserire nel vecchio codice le chiamate alle API UWP in modo da sfruttare funzioni particolari che sono precluse alle applicazioni tradizionali.

Visual Studio 2017

Le due opzioni hanno ovviamente difficoltà e vantaggi diversi. La conversione senza modifica del codice è appunto una conversione in UWP pura e semplice, ancora una volta non totale perché non permette di sfruttare davvero tutte le funzioni integrate di Windows 10. La scrittura di codice richiede maggiori competenze ma va oltre la semplice conversione: pur con qualche limite, porta a creare una nuova applicazione che offre più funzioni (o funzioni più aggiornate) di quella di partenza.

Il limite in questo caso sta proprio nella maggiore capacità di sviluppo richiesta, anche se Microsoft sta lavorando a inserire in Visual Studio varie opzioni che semplificano il passaggio da Win32 a UWP.

LASCIA UN COMMENTO

Inserisci il tuo commento
Inserisci il tuo nome

Se questo articolo ti è piaciuto e vuoi rimanere sempre informato sulle novità tecnologiche
css.php