RxJava 2 and two talks this February expanding on 'Fully Reactive Apps'

Things have been very hectic this winter, presenting Fully Reactive Apps again at GDG Devfest Coimbra, attending several meetups around London, and some quality family time in Spain.

The response to Fully Reactive Apps and the libraries in FunctionalRx has been quite positive in these past months. I've been featured in the Android Weekly #242 too, and Hannes Dorfmann recommended RxSealedUnions.

Thanks to these I have gotten an invitation to give two new talks this February. I have also started looking at RxJava 2, with a surprise at the bottom.

Deep dive into 'Fully Reactive Apps'

Firstly, on February 14th, I'll be back at SkillsMatter for a Droidcon Bytes London event where I'll be explaining the memory and lifecycle nuisances when developing a reactive app. I don't have a time limit, so you will have the chance to ask any questions and we can dig deeper into some interesting code. UPDATE: You can find it available, right now, in this blog entry.

The second one will be at MobOS in Cluj, Romania, this February 16th. I'm invited to give a talk, participate in a round table, and generally be available to answer any questions or discuss any ideas you can bring. This talk will cover testing, dependencies, and solution design for reactive apps. UPDATE: Sadly, there was no recording for this. You can find the slides and example here: 'Headless Development in Fully Reactive Apps'.

I expect the recordings to be available sometime soon after the talks, and meanwhile you can watch the new and better recording of A Domain Driven approach to Kotlin's New Types.


If you've been following my Twitter, I spent a couple of days on January porting the whole FunctionalRx library stack to RxJava 2.

It's been a pleasant experience, mostly because all the helpers only required changing their dependencies from rx.functions.ActionN and rx.functions.FuncN to the new package io.reactivex.functions. Note that some interfaces have changed names, like how Action1 is now caller Consumer, or Function2 is called BiFunction. The only wart is that the Action3-9 interfaces were moved from the main RxJava repository into RxJava2Extensions. Because the extensions repository was not a dependency everyone wanted, as it's still very alpha and changes often, I opted for a solution that uses Maven resolution to only merge the interfaces the libraries required and nothing else, while you can still use the complete RxJava2Extensions in your app by adding the dependency yourself.

You can find the latest version of the functional toolset in the FunctionalRx2 repository.

I expect to update RxPaper and RxObservableDiskCache at some point after the talks.