Reactive programing is hot stuff at the moment and the Coursera Principles of Reactive Programming course has just started (its not too late to enroll).
Recently, I’ve been hearing good things about RxJava ( a port of .Net’s Reactive extensions ) so I wanted to learn some more. Then I stumbled upon a video from a recent SF Scala meetup which covered what it is and how they implemented the core and then added support for other JVM languages.
Two things immediately struck me:
Observables are not opnionated about how the backend works. It could be concurrent or swapped out with a thread pool, an actor or an nio event & event loop… Pretty cool, this means there is a single way of handling the code no matter if the backend is synchronus or asynchronus.
The methods for manipulating multiple observers, chaining or nesting is extremely powerful, yet easy to understand.
I’m really looking forward to using it, to me its an easier abstraction to
understand for handling streams of data and seemly less complex than using Plays