These two libraries solve two different problems.
Bolts
Bolts simplify asynchronous programming by transparently clicking code on a background thread. Bolts also put a lot of effort in trying to reduce the ugly nesting of the code, which creates the format of a nested pyramid.
Therefore, if you are specifically going to solve problems with asynchronous (multi-threaded), Bolts is working on more reliable solutions. Bolts are also effective for removing the nesting and callback patterns, and this is probably a great solution to easily fix callback problems.
Rxjava
RxJava is specifically designed to support the reactive programming paradigm. Reactive programming is an alternative to imperative Java programming. You can choose the transition to the reactive programming paradigm for various reasons, of which there are many. If you want to port your code to the reactive programming model or want to use reactive in your projects with new projects, consider using RxJava, the de facto reactive standard in the Java world.
Reactive also solves the problem of asynchronous programming, and also reduces the generic callback pattern. But it should not be used only to solve these problems. For example, Bolts' ability to resolve the nested pyramid code structure makes it a more viable solution for asynchronous programming. On the other hand, if you use reactive through RxJava, problems with asynchronous tasks have already been solved, so it makes no sense to actuate the bolts.
source share