Last night I gave a talk at the St. Louis .NET User Group regarding .NET Reactive Extensions (Rx) and their basic use. While Rx has been around for a number of years and I’ve seen a number of presentations at various conferences and industry events I still feel it isn’t as widely understood or adopted to the level I feel it’s capable of.
My recent interest in Rx has been due to my heavy involvement with some very complex Silverlight and RIA Services applications. In these environments (especially with RIA services) the managing of asynchronous data access and the coordination and timing of events leads to a complex mess of code in specific scenarios. In looking to streamline all data access and event code I returned to what I had previously learned of Rx and decided to research or build a clean infrastructure to bring the simplicity of the Rx IObservable subscriber model to our data layer and to bridge RIA Services and Rx in such a way as the complexity of our solution can be managed easier. I have started down this road and found some great concepts in others solutions on the web. Over the next few days and weeks I’ll be posting more on using Rx with RIA Services to build better Silverlight applications. For now, I just wanted to include some pointers to some great Rx content on the web to get things started.
For those of you interested in getting into Rx, the following links would be my recommendation on where to start:
Great Keynote Overview: http://channel9.msdn.com/posts/DC2010T0100-Keynote-Rx-curing-your-asynchronous-programming-blues
Great Blog Series by Lee Campbell: http://leecampbell.blogspot.com/2010/08/reactive-extensions-for-net.html
For those of you interested in my slide deck and sample source code you can find that here.