Dot.Blog

C#, XAML, Xamarin, UWP/Android/iOS

Reactive Extensions RTW !

[new:30/07/2011]Les Reactive Extensions, dites aussi “RX” je vous en ai parlé quelques fois, il s’agit d’une librairie permettant de rendre plus accessible le développement de code parallélisé et de tirer partie des processeurs multicoeurs. L’équipe des RX vient d’annoncer la sortie de version 1.0 officielle ainsi qu’une série de vidéos de présentation.

Les RX

j’ai abordé le sujet à plusieurs reprises car cette librairie qui a mis du temps avant d’atteindre la release RTW promettait dès le départ une nouvelle approche du parallélisme, élément essentiel d’un logiciel pas même moderne, juste contemporain...

Pour ceux que le sujet intéresse voici deux billets abordant les RX ou l’asynchronisme :

Silverlight: Sérialiser les tâches asynchrones

Parallel FX, P-Linq et maintenant les Reactive Extensions…

Le Site

Vous pouvez trouver tout ce qui touche aux RX sur leur propre site ici : Reactive Extensions

Les versions

Il existe une version 1.0 dite stable, la première version officielle des RX. Mais on peut aussi télécharger la version 1.1 dite expérimentale qui offre quelques nouveautés mais qui n’est pas encore officielle.

Le Workshop

Sur le fameux “channel 9”, les RX disposent de leur propres émissions. On y retrouve notamment une présentation riche et claire de la librairie et de ses possibilités.

Vous pouvez cliquer sur les images ci-dessous pour accéder directement à la vidéo du sujet proposé.

L’introduction aux RX

Qu’est ce que les RX ? Qu’appelle-t-on la “programmation réactive” ? etc..

image

Les Observables vs la gestion d’évènements

Les RX proposent une approche très différente de la gestion d’évènements classique. Les séquences “observables” sont à la base de cette nouvelle façon de consommer des évènements.

image

Un modèle unifié

Les RX offrent l’opportunité d’unifier la gestion des tâches, l’asynchronisme, la consommation d’évènements. Cette vidéo fait le point sur la façon d’unifier le code de gestion de ces divers problèmes devenus classiques dans les logiciels actuels.

image

L’écriture des requêtes

Les RX font grand usage des requêtes LINQ. Il s’agit d’une approche fonctionnelle de la programmation. La librairie propose des extensions à LINQ pour gérer des flux d’évènements.

image

La gestion des évènements

En réalité il s’agit ici de comprendre comme utiliser les opérateurs LINQ de RX pour filtrer, agréger, et regrouper les données dans des séquences “observables” afin d’obtenir le résultat escompté. Comme toute nouvelle approche il faut atteindre le point du “déclic” à partir duquel tout semble évident... Avant il faut ramer un peu Sourire

image

 

L’ordonnanceur

Grâce à l’ordonnanceur des RX il est possible de paramétriser les accès concurrents et de tester les applications en utilisant un “temps virtuel”. Cela sonne un peu science-fiction, mais quand vous serez arrivé à cette vidéo là (qui à mon avis n’est pas en dernier pour rien) les choses devraient vous sembler à peu près claires !

image

Conclusion

La version officielle 1.0 des RX cela se fête ! Et quoi de plus sympa que d’appeler un ou deux potes pour se regarder une bonne série de vidéos en buvant un coca-light hein ? Il y en a qui préfère regarder la F1 en buvant de la bière, mais si vous voulez comprendre au-delà de la vidéo 1 de présentation, je vous conseille de rester clair ! Sourire

Et surtout : Stay Tuned !

blog comments powered by Disqus