asynchronous Programming Paradigm that revolves around data streams and the propagation of change. In simpler words, those programs which propagate all the changes that affected its data/data streams to all the interested parties ﴾such as end users, components and sub‐parts, and other programs that are somehow related﴿ are called reactive programs. Source ‐ Reactive Programming in Kotlin, Chapter ‐ 1, Page ‐ 9
Programming with your preffered language ReactiveX ‐ Rx Extensions ﴾RxJava, RxKotlin, RxCpp, RxSwift, RxJs etc.﴿ ﴾Rx Extensions for almost all languages﴿ Reactor, Reactor‐Kotlin ﴾JVM Languages Only﴿ Bacon.js ﴾JavaScript Only﴿ Akka ﴾Java, Scala Only﴿ Vert.x ﴾JVM Languages Only﴿
Data Streams Observable has an underlying computation that produces values that can be consumed by a consumer ﴾Observer﴿. The most important thing here is that the consumer ﴾Observer﴿ doesn't pull values, instead the consumer is notified by the producer itself whenever there's a change.
on the Data Streams while it flows from Producer to the Consumer Java observable1 .map((item)‐>item*2) .filter((item)‐>item<=10) Kotlin observable1 .map{item‐>item*2} .filter {item‐>item<=10}
They helps the programmer to deal concurrency, context switching and all threading with ease. .subscribeOn(Schedulers.single()) .observeOn(Schedulers.trampoline())