Reactive Extensions 2013 Year in Review

This past year saw a number of changes with the Reactive Extensions (Rx).  The team, with the help of the community, MS Open Tech and others, we have been super busy.  We thought we’d take a little bit of time to recap the year, what we did and what we plan to do. 

Of course, it cannot be said that there wasn’t change with the Reactive Extensions Team, as Erik Meijer, the founder of the Reactive Extensions, LINQ and many other contributions, left Microsoft so that he could work on Rx on the outside, helping with adoption.  We continue as a team to work closely with him and the community on the future direction of Rx.

Going Open Source

As we announced back in November 2012, in conjunction with MS Open Tech, the Reactive Extensions for .NET, C++ and JavaScript were released as open source under the Apache 2 license on both CodePlex and GitHub.  Since that time, we’ve released a number of other languages which now include:

Some are more complete than others, but we’d love the community’s support with making these libraries better.  Contributing has never been easier to the Rx projects has never been easier.  You can contribute to Rx with examples, documentation, code, tests.  Simply sign the CLA and be a part of Rx!

RxJava

Another great result of our open source work has been the collaboration with such companies as Netflix.  The Netflix engineering team are big fans of the Reactive Extensions, and decided to port the Rx to the JVM in a project called RxJava so that their engineering teams can use Rx on both the client and the server.  It currently supports Java 5+, Clojure, Scala and Groovy.  The Netflix API takes advantage of RxJava, exposing all service methods to return Observable<T>, which allows for flexible composition, and concurrency safety. 

The RxJava project has enabled Netflix developers to leverage server-side concurrency without the typical thread-safety and synchronization concerns. The API service layer implementation has control over concurrency primitives, which enables us to pursue system performance improvements without fear of breaking client code.

Conferences

Late 2012 and through 2013 was a busy year for the Reactive Extensions team for presentations.  In addition, we’ll also be making an appearance at CodeMash in Sandusky, OH.

The Netflix team has also been quite busy giving presentations not only on RxJava, but also RxJS, which they frequently use as well. These are great presentations that show how a company with scaling needs such as Netflix uses Rx across all platforms and both on the client and server.

Release of Rx v2.2

This year also saw the release of Rx v2.2 for .NET, C++ and JavaScript, which was announced on this blog here and here.  What was great about these releases is that a lot of the material for this release was specifically driven by the community.  So, a big thank you to the community for participating and moving Rx forward! 

Promises for the New Year

This year, 2014, promises to be another great year for the Reactive Extensions team with a focus on many things such as:

  • Version 2.3 with ideas around backpressure and other concerns
  • Language parity with Python, Ruby and C++ versions
  • New languages supported
  • And yes, more blogging

Although we don’t blog as much, you can always catch us on Twitter at @ReactiveX!  We publish lots of information about Rx and what we’re up to, so follow us!