Reactive Extension (Rx) tutorial that is up to date
I found a "learn by doing" project called Reactive Extensions (Rx) Koans.
It was last updated in March 2012, so it's fairly up-to-date.
Definition of ‘Koan’ Kōans is a zen word meaning the enlightenment or awakening of a person, usually through a puzzle or riddle. The most common one is “What is the sound of one hand clapping?”
It is made of a series of almost-complete unit tests that you must finish in such a way that they pass. You do this by 'filling in the blanks'.
It's pretty neat, quite easy to complete, and gives valuable insight.
Oh yeah, and it's made by Bart De Smet from the Rx team.
Here's a typical unit test:
[TestMethod]
public void DoingInTheMiddle()
{
var status = new List<String>();
var daysTillTest = Range.Create(4, 1).ToObservable();
daysTillTest.Do(d => status.Add(d + "=" + (d == 1 ? "Study Like Mad" : ___)))
.Subscribe();
Assert.AreEqual("[4=Party, 3=Party, 2=Party, 1=Study Like Mad]", status.AsString());
}
When learning Rx the first thing is to understand the philosophy behind IObservable and how it's push based nature compares with IEnumerable. I suggest the following one for a good explanation: A[nother] Simpler Tutorial for Reactive Extensions
Lee Campbell has nice series explaining the api and when to use them. He also tries to keep it up to date with latest releases: Reactive Extensions for .NET an Introduction
The series is now available as a book at Introduction to Rx
By the way, I have also written a blog post about solving real life problem with rx: Using Reactive Extensions for Streaming Data from Database
Hope this helps.