Microsoft open sources Reactive Extensions
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 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.