Modernizzare le applicazioni desktop con .NET Core 3

di , in ,

Windows è un sistema in continua crescita e lo dimostra il mercato: l'opportunità è cresciuta così tanto che ci sono oltre 2.5 milioni di sviluppatori che ogni mese aprono Visual Studio e costruiscono applicazioni desktop e, con una user base di oltre 700 milioni di device con installato Windows 10, questi numeri non possono fare altro che crescere. Rimane assolutamente vero che anche il mondo web sta crescendo in modo esponenziale, ma questo introduce problemi di natura tecnica (e di scelte di business) non banali, come l'introduzione di nuovi framework di sviluppo quasi a cadenza giornaliera, che non fanno altro che aumentare la frammentazione del mercato. Microsoft cerca di porre, al contrario, un punto saldo: .NET.

.NET rappresenta, in generale, uno dei framework più conosciuti ed amati all'interno del mercato e dagli sviluppatori che da sempre sono affezionati al mondo Microsoft e Windows. Negli ultimi anni, però, .NET è evoluto in due varianti: la prima, è il .NET Framework che siamo abituati a conoscere, mentre la seconda è rappresentata da .NET Core, un'aria nuova del .NET Framework che permette di far girare le applicazioni anche in ambienti cross-platform, come Linux e macOS. Questo è vero, ma fino ad oggi lo è stato solo per l'ambiente web, poiché il mondo desktop è ancora fermo al "classico" .NET Framework.

A Microsoft Build 2018, la più grande conferenza dedicata al mondo degli sviluppatori del mondo Microsoft, è stato infatti annunciato che le cose cambieranno: l'introduzione di .NET Core 3 permetterà anche alle applicazioni desktop come WinForms e WPF (nuove o pre-esistenti) di godere di tutti i benefici previsti da .NET Core. Nonostante ad oggi sia ancora una preview (la Preview 3 è stata rilasciata a Marzo), è bene iniziare a parlarne per fare in modo che tutti gli sviluppatori possano prendere parte a questo enorme cambiamento e iniziare a progettare le migrazioni per modernizzare le applicazioni esistenti. Inoltre, poiché lo sviluppo di .NET Core avviene completamente nell'Open Source, è possibile anche fornire feedback direttamente ai team di sviluppo su GitHub per fare in modo che eventuali problematiche vengano risolte prima del go-live che dovrebbe avvenire entro la fine dell'anno.

Perché .NET Core su desktop?

Un'applicazione desktop che gira in .NET Core, esattamente come per le applicazioni web che oggi stanno già facendo uso di .NET Core, può sfruttare i seguenti benefici:

  • Performance: tempi di compilazione ed avvio dell'applicazione, oltre che nell'uso stesso, saranno ridotti (la percentuale di miglioramento dipende in larga parte anche dal codice esistente e dalla tipologia di progetto);
  • Facilità di test: l'installazione del framework .NET Core è side-by-side, quindi, al contrario di .NET Framework, possiamo avere più versione installate contemporaneamente e fare in modo che un'applicazione ne usi una, e un'altra ne usi una completamente differente sempre all'interno della stessa macchina, senza fare in modo che queste entrino in conflitto fra di loro;
  • Supporto alla CLI: la riga di comando è fondamentale per .NET Core per generare progetti, fare il restore dei pacchetti, creare le build e pubblicare i progetti, ma non solo...;

Questo significa che le applicazioni potranno finalmente girare su Linux e macOS?

La risposta a questa domanda è, purtroppo, no. Poiché sia WinForms che WPF utilizzano ancora fortemente la tecnologia fornita da Windows dietro le quinte, non è possibile farle girare in ambienti differenti. L'obiettivo di farle girare su .NET Core è principalmente relativo alle performance e alla segregazione del framework.

Modernizzare l'applicazione però, non vuol dire soltanto cambiargli il framework sulla quale sta girando. Il cambio del framework può essere necessario per godere di determinati benefici, ma l'evoluzione dell'applicazione stessa può essere fatto anche su altri punti:

  • Piena accessibilità a tutte le API di WinRT, nel caso in cui l'applicazione stia girando in ambiente Windows 10;
  • L'uso di Entity Framework Core per velocizzare l'esecuzione delle query;
  • L'uso di ML.NET, il framework di machine learning che lavora offline all'interno delle applicazioni;
  • L'uso di XAML Island per portare controlli di UI nativi Windows 10 anche su WinForms e WPF.

Il processo di modernizzazione delle applicazioni esistenti è sicuramente complicato, ma l'obiettivo di questo articolo è proprio quello di spulciare quelli che sono i punti salienti che sono necessari per affrontare una prima migrazione, ovvero quella relativa al framework.

5 pagine in totale: 1 2 3 4 5
Contenuti dell'articolo

Commenti

Visualizza/aggiungi commenti

Modernizzare le applicazioni desktop con .NET Core 3 1010 1
| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Approfondimenti