This app uses spoonacular api to fetch data and display data using retrofit library.
RxJava
It is the library that includes java extensions to support reactive programming in java.
RxJava is a JVM implementation of Reactive Extensions. Reactive Extension is a library that’s used for writing asynchronous event-based reactive code by using observables. We’ll see what are observables shortly. RxJava is useful and very powerful in the sense that it takes care of multithreading very well. If you’re a Java developer, you’ll be well aware of the fact that multithreading can get tricky. RxJava takes care of multi-threading by doing complex thread operations, keeping everything synchronized and returning the relevant things to the main thread. In Android, the main thread is the UI thread. RxJava handles multithreading with a level of abstraction. We need to write less code and the underlying methods do the rest for us.
Reactive Programming
Reactive comes from the word react, which means to react to changes in the state instead of actually doing the state change.
Reactive Programming is a programming paradigm that’s concerned with data streams and propagation of change.
The reactive model listens to changes in the event and runs the relevant code accordingly.