RxJava is very powerful. It solves a great amount of tasks easily. But using it in wrong places can turn any codebase into an unmaintainable and buggy mess. Here I will try to explain where RxJava can help and in which cases it is better to avoid using it.
RxJava nice and easily covers our multithreading needs. But it provides only a half of the solution. While we can compose functions with RxJava, there is no safe way we can have our state (field variables) handled without race conditions and low-level synchronization blocks.
This article describes a simple and practical way for solving multithreading issues that appear even when we're using such advanced technology as RxJava.
A little knowledge exchange from an active lambdas user.
Term: Lambda is an anonymous function.
There is too much “magic” inside of RxJava.
Docs and tutorials are either too shallow or too complicated.
Here is the middle ground that is essential to know before playing with RxJava.
In these tests we will take each RxJava part… apart and explore how exactly it works.
In this article I will discuss unit testing approaches, show a quick and elegant solution to unit tests complexity, benefits of having 100% code coverage with tests and how achieve it easily.