Le novità del .NET Framework 4.5

di Cristian Civera, in .NET Framework 4.5,

Il raggiungimento della maturità da parte di Visual Studio 2012 coincide con il rilascio finale anche del .NET Framework 4.5, ed entrambi i prodotti si preparano ad essere la base portante per lo sviluppo dei prossimi anni, sia per applicazioni server, sia per quelle client. Questa nuova versione del framework si contraddistingue, in particolare, dal fatto che è la base su cui si poggia lo sviluppo managed per la nuova tipologia di applicazioni per il Windows Store e nello specifico per il nuovo Windows 8.

Come già avvenuto in passato, questa nuova versione del .NET Framework corregge bug e apporta nuove funzionalità pur mantenendo intatta la versione del CLR, che rimane sempre la 4.0. Una volta installato Visual Studio 2012 o il pacchetto di setup disponibile a questo indirizzo, nella cartella C:\Windows\Microsoft.NET\Framework troveremo sempre la cartella v4.0.30319 contenente i nuovi assembly aggiornati o aggiuntivi, sempre in versione 4, pur rimanendo retro compatibili con la precedente versione. Anche per ASP.NET, quindi, non vi è alcuna modifica da apportare alla configurazione di Internet Information Services, poiché su ogni application pool rimane comunque la scelta sulla v4 o la v2 (se installata).

Il passaggio a questa nuova versione è quindi sostanzialmente indolore, perché ogni applicazione precedentemente compilata con la versione 4 continuerà a funzionare anche con la 4.5, senza necessitare di una ricompilazione. Le nuove funzionalità, invece, funzionano solo su macchine che dispongono di questa ultima versione del .NET Framework. Oltre ai nuovi strumenti, questo nuovo rilascio è stata l'occasione per allineare il più possibile le differenze tra i vari fork che .NET ha subito per fornire prodotti come Silverlight, Windows Phone Runtime, Xbox 360 e l'ultimo nato per WindowsStore app. In questo senso, Visual Studio 2012 ora supporta nativamente le Portable Class Library su tutti i framework citati, permettendo di realizzare librerie che possano essere riutilizzate in diversi ambienti, aumentando la produttività. In quest'ultima versione, per esempio e seppure in certi limiti, anche i servizi WCF referenziati possano essere riutilizzati su più piattaforme.

Ritornando al .NET Framework 4.5, abbiamo detto che introduce novità che, grazie all'ottimo lavoro effettuato in passato, in molte parti sono costituite da piccole migliorie, qualche nuova proprietà e classi nella BLC, ma che sostanzialmente consolidano quanto è già stato fatto. Tra le novità più importanti che contraddistinguono questo nuovo rilascio vi è innanzitutto il supporto che dà alle nuove versioni dei linguaggi C# e VB.

Async e Await di C# 5 e VB 11

Nella storia di queste linguaggi, probabilmente queste loro nuove versioni sono quelle che introducono il minor numero di funzionalità. Anzi, nella realtà d'uso quotidiano, la vera novità è una sola ed è rappresentata dalle nuove parole chiavi async e await, le quali poggiano il loro funzionamento sul concetto di Task introdotto con la versione 4 del .NET Framework. Il Task era stato, infatti, introdotto per rappresentare un'operazione con o senza risultato e grazie ad esso si è semplificato molto l'uso e la creazione di operazioni asincrone, soprattutto nell'ambito della parallelismo. A questo link possiamo trovare maggiori dettagli a riguardo, ma ciò che conta sapere è che il Task è stato preso come punto principale su cui poggiare tutte le operazioni asincrone dello sviluppo nel mondo managed.

Già dalla prima versione del .NET Framework era nata la necessità di poter invocare metodi in modo asincrono, liberando il thread chiamante e delegando il lavoro ad altri thread oppure ad altri processi, in attesa del loro termine. Da allora si sono provate varie tecniche per raggiungere questo obbiettivo che, seppure funzionanti, si sono dimostrate complicate o ripetitive, soprattutto se a contatto con l'interfaccia. Le problematiche e le tecniche del multithreading sono affrontate in questo articolo che invitiamo a leggere. Poiché troppo spesso gli sviluppatori inciampano nel problema cross threading tra codice per l'interfaccia utente e codice in generale, è stato scelto di sfruttare il Task per conoscere e attendere l'esecuzione di un'operazione asincrona, pur mantenendo lo stile procedurale della programmazione sincrona.

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

Commenti

Visualizza/aggiungi commenti

| 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

Top Ten Articoli

Articoli via e-mail

Iscriviti alla nostra newsletter nuoviarticoli per ricevere via e-mail le notifiche!

In primo piano

I più letti di oggi

In evidenza

Misc