It can be said that reactive programming is an extended and more powerful version of the Observer standard. Given the premise of having observable objects as the program’s input port, one of the pillars of the reactive model is the idea that "data streams" (which we will now call streams) can be created from anything: discrete variables, data inputs, application properties, or as in the examples cited above, UI events or external application entries... The important thing to note here is that, regardless of how the stream input is built, the event handling code is the same. For example, your Twitter feed, or a Kafka topic reader, could be consumed in the same way as a button click. The stream becomes just the abstraction of an (potentially (and primarily!) asynchronous) data source, which emits values continuously, over which you can react accordingly.
This question was answered here: https://answall.com/questions/55332/o-que%C3%A9-reactive-Programming-program%C3%A7%C3%A3o-reactive
– alexjosesilva
You have an interesting answer here: https://answall.com/a/55380/5748
– alexjosesilva