background preloader

Reactive Programming

Facebook Twitter

GitHub - LeeCampbell/RxCookbook: Collection of recipes and snippets helping you create useful Rx code. RolandPheasant/DynamicData. The introduction to Reactive Programming you've been missing. The introduction to Reactive Programming you've been missing (by @andrestaltz) This tutorial as a series of videos If you prefer to watch video tutorials with live-coding, then check out this series I recorded with the same contents as in this article: Egghead.io - Introduction to Reactive Programming.

The introduction to Reactive Programming you've been missing

RxMarbles: Interactive diagrams of Rx Observables. ReactiveX. The reactive manifesto. RxSandbox V1. [New version (2011.05.06)] [RxSandbox downlaod has been upgraded to the newest version of Rx (Build 1.0.2677.0 08/27/2010).] download [RxSandbox downlaod has been upgraded to the newest version of Rx (Build 1.0.2617.0 07/15/2010).] download (Changes: solution converted to VS2010, Net 4.0; 56 operators, grouping operators on the tree control; zoom)

RxSandbox V1

Mixing TPL Dataflow with Reactive Extensions. The TPL Dataflow Library (TDF) from Microsoft DevLabs provides an additional method of managing asynchronous execution in .NET.

Mixing TPL Dataflow with Reactive Extensions

Fortunately, like many of the other choices, it’s built on the same underlying constructs (primarily the Task object), allowing integration with existing solutions. One of the points of integration is provided by the IObservable and IObserver interfaces which form the basis for the Reactive Extensions. The basic concept of TDF involves chaining together blocks that do some processing on each data item as it flows through the chain. Bart De Smet: Observations on IQbservable - The Dual of IQueryable.

Visual Rx

Reactive_extensions.pdf. DevCamp 2010 Keynote - Rx: Curing your asynchronous programming blues. Speaker: Bart de Smet Aufzeichnung vom DEVcamp 2010 in Wien, am 12.

DevCamp 2010 Keynote - Rx: Curing your asynchronous programming blues

Oktober 2010 Organisiert von den Partnern TechTalk, Cubido und CSS.Microsoft Österreich unterstützte das Event als Hauptsponsor und hat auch selbst einige Sessions abgehalten. At Microsofts Professional Developers Conference (PDC) a few years back, we introduced the LINQ project to solve the impedance mismatch between various data models by means of integrated query syntax in mainstream programming languages. Today, we’re seeing a rich ecosystem around LINQ providers that allow developers to reach out to many more data sources. Reactive Extensions v2.0 Beta available now! - Reactive Extensions Team Blog. After the release of Reactive Extensions (Rx) v1.0 SP1 and Reactive Extensions for JavaScript (RxJS) v1.0 late last year, we’ve been quite busy preparing the next big milestone of the product: Reactive Extensions v2.0 Beta.

Reactive Extensions v2.0 Beta available now! - Reactive Extensions Team Blog

In this blog post, we’ll outline the main features, improvements, etc. C# - Write an Rx "RetryAfter" extension method.

ReactiveUI

Jen20/reactive-routing. The Essence of LINQ – MinLINQ - B# .NET Blog. Before reaching the catharsis in the “More LINQ with System.Interactive” series over here, I wanted to ensure a solid understanding of the essence of LINQ in my reader base.

The Essence of LINQ – MinLINQ - B# .NET Blog

Often people forget the true essence of a technology due to the large number of auxiliary frameworks and extensions that are being provided. Or worse, sometimes a sense for the essence never materialized. Searching for essence is nothing other than a “group by” operation, partitioning the world in fundamentals and derived portions. One succeeds in this mission if the former group is much smaller than the latter. In this post, we’ll try to reach that point for the IEnumerable<T> and IObservable<T> LINQ implementations, illustrating both are fundamentally similar (and dare I say, dual?). While loved by object-oriented practitioners, interfaces are essentially nothing but records of functions. Introduction to Rx. Extensions for Reactive Extensions (Rxx) - Home. LeeCampbell (Lee Campbell) Event processing at all scales with Reactive Extensions.

The Rx Framework By Example. Introduction The Rx Framework is a very interesting and useful library recently released via DevLabs.

The Rx Framework By Example

The purpose of the framework is to provide a large framework for working with the Observer pattern. That is a nice academic description, but it is hardly enough to start using it immediately. So let us dig a little deeper. This article is to provide an introduction to the Rx Framework by example, not by description. Background All of the information presented here is either summarised or derived from the excellent video and text blog posts on Channel 9.

For this article, it is assumed that the reader has a working knowledge of the Observer pattern. Calling Web Services in Silverlight using ReactiveXaml at Thursday Night. One of the scenarios that our summer intern Roberto Sonnino pointed out over the summer that was somewhat annoying in ReactiveXaml (my MVVM library that integrates the Reactive Extensions for .NET), was making RxXaml more friendly to asynchronous web service calls in Silverlight.

Calling Web Services in Silverlight using ReactiveXaml at Thursday Night

Since this is a pretty important scenario, I decided to hack on it some (it’s always been possible, just not as easy). Getting our function prototype correct Remember from an earlier post that an IObservable can be used as a Future, a “box” that will eventually contain the result of a web service call or other asynchronous function, or the error information. So to this end, we’d really like our web service calls to all be vaguely of the form: IObservable[Something] CoolWebServiceCall(object Param1, object Param2 /*etc*/); However, we know that neither HttpWebRequest nor the web service generated code looks anything like that. An example: looking at the Bing Translation API. Matthew Podwysocki's Blog. Declare Don’t Tell. Judging by the reaction to my Death to the If statement where I talked about the benefits of declarative code and reducing control statements, not everyone is on board with this concept.

Declare Don’t Tell

That’s fine, I don’t lose sleep over people being wrong. Photo by Grégoire Lannoy CC BY 2.0 My suspicion is that the reason people don’t have the “aha! Moment” is because examples of “declarative” code are too simple. This is understandable because we’re trying to get a concept across, not write the War and Peace of code. Blogs. Reactive Extensions v2.0 Release Candidate available now! - Reactive Extensions Team Blog. Three months after the release of Reactive Extensions v2.0 Beta, we’re happy to announce the availability of our next milestone build for the Rx v2.0 product cycle!

Reactive Extensions v2.0 Release Candidate available now! - Reactive Extensions Team Blog

Today, we released the Release Candidate (RC) build to the Download Center and NuGet, ready for you to start playing around. This post will highlight important things you should know to get started, and provide some in-depth information on what’s new and changed. We did do a ton of work to improve various aspects of the technology, and hope you’ll like it! When we released the Reactive Extensions v2.0 Beta earlier this year, we limited the set of supported platforms to .NET 4.5, Silverlight 5, Windows Phone 7, and .NET for Metro style apps.

Rx on the server, part 1 of n: Asynchronous System.IO.Stream reading - Jeffrey rambles about Rx, .NET and programming in general. As it’s been a long time since I blogged, I figured I owe it to people subscribed to my blog to start a nice long series with regular posts. (Also I can’t stand seeing Matthew have all the fun :)). There have been many samples showing Rx on the client. In these samples, Rx is often used for UI operations (such as Drag Drop) and/or network requests (e.g. dictionary suggest). What I haven’t seen much of is samples of using Rx on the server. Well it’s time to change that! These series will focus on scenarios where you could use Rx on the server. Release Notes for Reactive Extensions 1.1.11011.11 (Experimental Release) IAsyncInfo Conversions WinRT’s asynchronous operations are based on the IAsyncInfo interface and its derived interface types.

While the .NET Framework 4.5 BCL provides conversions to Task<T>, there’s value in providing IObservable<T> conversions as well for two reasons. First of all, the IAsyncInfo interfaces provide a cold model for asynchrony, just like the IObservable<T> interface. Mapping an IAsyncInfo object onto an observable sequence can wrap the Start call inside the observable’s Subscribe call. Reactive Extensions. Reactive Extensions (Rx) is a library for composing asynchronous and event-based programs using observable sequences and LINQ-style query operators. Data sequences can take many forms, such as a stream of data from a file or web service, web services requests, system notifications, or a series of events such as user input.

In interactive programming, the application actively polls a data source for more information by pulling data from a sequence that represents the source. Using Reactive Extensions for Streaming Data from Database - About My Code. You have probably heard about Reactive Extensions, a library from Microsoft that greatly simplifies working with asynchronous data streams and allows to query them with Linq operators.

A[nother] Simpler Tutorial for Reactive Extensions. Years ago, I wrote a small console application in VB6 that simulated a digital circuit by using gates. It was a great way to learn OOP, because each class directly corresponded with a real-life entity, and the behavior was something slightly more useful than dogs barking or cows mooing. Wiring up some events and a basic input form, I was able to simulate the results of fairly complex circuits. The problematic part of this is that because of the event model, it took forever to calculate, and hundreds of lines of code.

Fast-forward to last year when I heard about Reactive Extensions for .NET, a true implementation of a push-style observer pattern built on top of IEnumerable<>. Coming from the land of events and synchronous programming, it was difficult to wrap my head around, but like many concepts, I eventually “got it”. Event Centric: finding key business value by leveraging domain events and reactive extensions. DevCamp 2010 Keynote - Rx: Curing your asynchronous programming blues.

(not yet) 101 Rx Samples - Reactive Framework (Rx) Wiki. You! Yes, you, the one who is still scratching their head trying to figure out this Rx thing. As you learn and explore, please feel free add your own samples here (or tweak existing ones!)