In association with heise online

08 November 2012, 13:22

Microsoft open sources Reactive Extensions

  • Twitter
  • Facebook
  • submit to slashdot
  • StumbleUpon
  • submit to reddit

Rx logo Microsoft has announced the open sourcing of its Reactive Extensions (Rx). Rx is a model and framework for development which lets developers "glue together asynchronous data streams", a particularly useful capability when many modern applications are built around bringing together data from sources as diverse as tweets, stock quotes, REST requests or event buses. The libraries are used by GitHub (in their GitHub for Windows application) and Netflix clients. GitHub's Paul Betts notes that the developers at the company found the Rx proposition useful enough to create ReactiveCocoa, a Mac OS X port of the Rx-based ReactiveUI.

Developed by Erik Meijer and his team at Microsoft, the library allows programmers to represent data streams as Observables, query the streams using LINQ operators, and then orchestrate the concurrent handling with Schedulers. It is designed to avoid the problems that can plague desktop developers and web developers. They often find themselves coping with events and data arriving asynchronously and colliding with applications' computational tasks which could be blocking processing or other threads. Working around these problems can make handling exceptions and synchronisation difficult.

Microsoft's open sourced code includes Rx.NET for .NET applications, RxJS for JavaScript (in the browser and in Node.js) and Rx++ for native applications in C and C++. The code also includes Ix, the Interactive Extensions, which extend each of the implementations to work with native objects. There is also a set of code examples to show how to use LINQ on events (Tx) and LINQ2Charts.

Microsoft are moving part of the Rx development team to work at the MS Open Tech Hub to continue Rx development and collaborate with any open source communities who want to adopt Rx.

The Rx project source code is available from and is licensed under an Apache 2.0 licence. Further resources include video workshops and documentation.


Print Version | Send by email | Permalink:

  • July's Community Calendar

The H Open

The H Security

The H Developer

The H Internet Toolkit