[TechDays 2012] : Session “Les nouveautés de .NET 4.5″


Cette session des Techdays animée par Roch Baduel, architecte chez MCNext avait pour but de nous présenter quelques nouveautés du futur Framework .NET 4.5. En voici un résumé non exhaustif.

Framework 4.5

Jouni Heikniemi, a créé un schéma qui résume bien le futur Framework 4.5:



Il s’agit en fait d’une mise à jour du framework 4.0, il est donc compatible avec celui-ci.  Il est actuellement disponible en preview.

Asynchrone

Durant sa présentation, Roch Baduel nous a plus particulièrement exposé les nouveautés concernant la gestion des opérations asynchrones. L’utilisation des appels asynchrones répond aux enjeux suivants :

  • Utiliser pleinement toute la puissance des machines actuelles (processeurs  Multi-coeurs)
  • Éviter de bloquer le thread principal avec des  traitements longs

Avant le framework 4.5, il existait trois manières de faire de l’asynchrone :

  • APM: Asynchronous Programming Model (Begin, End)
  • EAP: Event-based Asynchronous Pattern (utilisé dans Silverlight)
  • TAP: Task-based Asynchonous Programming (utilise la notion de tasks)

await et async

Avec .Net 4.5, C# intègre les notions de await et de async. Je ne vais pas vous expliquer ici comment les utiliser, il existe beaucoup d’articles sur internet traitant de ce sujet. Ce qu’il faut retenir c’est qu’ils permettent de coder de l’asynchrone de la même manière que du synchrone (plus de callback, de problème de contexte d’appel, …) ce qui simplifie et rend beaucoup plus lisible le code.

Dataflow (TPL Dataflow)

Le framework 4.5 voit aussi apparaître la notion de Dataflow (System.Threading.Tasks.Dataflow). Dans .NET 4.0, pour effectuer un traitement, on part des données et on met en place ce traitement (combinaison de tasks par exemple). Avec Dataflow, c’est l’inverse, on va développer une chaîne de traitement et on va ensuite y injecter les données à traiter. Un dataflow est constitué de blocs que l’on peut chaîner (réseau de blocs). Chaque bloc traite des messages depuis une file.

Voici un exemple simple d’utilisation :

var ab = new ActionBlock<int>(i =>
{

process(i);

});
for(int i=0;i<20;i++)
{

ab.Post(i);

}

Pour plus d’informations sur Dataflow vous pouvez consulter l’article d’Eric Vernie : http://msdn.microsoft.com/fr-fr/vcsharp/hh301085

Autres nouveautés

Roch Baduel nous a ensuite présenté de façon succincte quelques autres nouveautés du framework 4.5, en voici quelques-unes :

CORE

  • Nouvelle API pour les applications services HTTP
  • MEF supportera le type generic et la composition pourra être basée sur des règles

WCF

  • Contract First : on pourra générer un squelette de service à partir d’un WSDL depuis svcutil
  • Le WSDL via l’option singleWsdl pourra être généré sous la forme d’un seul fichier  contenant tout le schéma
  • Support des WebSocket
  • Simplification du fichier de configuration s’il contient les valeurs par défaut

WF

  • Les expressions pourront être écrites en C# (seulement VB auparavant)
  • Retour des state machine

ASP.NET

  • Supporte le HTML5
  • Démarrage plus rapide (multicore JIT)
  • Possibilité de faire des appels asynchrones

WPF

  • Ribbon control inclus
  • Introduction d’INotifyDataErrorInfo
  • Possibilité d’ajouter un délai dans le binding pour éviter de faire trop de rafraîchissements
  • Virtualisation sur Groupage ce qui entraîne une augmentation des performances lors de la gestion de données volumineuses

Cette session a permis d’avoir un panorama non exhaustif des nouveautés .NET 4.5,  en cela elle en était une bonne introduction.

Nombre de vue : 156

COMMENTAIRES 1 commentaire

  1. […] http://blog-rec.soat.fr/2012/02/tech-days-2012-session-%e2%80%9cles-nouveautes-de-net-4-5/trackback/ Share this:TwitterFacebookJ'aimeJ'aime  By sonia • Posted in Lu sur le web, Ms Event • Tagged 4.5 0 […]

AJOUTER UN COMMENTAIRE