Reactive programming is a programming paradigm in which state changes are propagated and reacted to via streams of data
As the name suggests, reactive code is written to react to changes in the underlying data state. State changes are exposed via streams of data that can be subscribed to and manipulated toward achieving the desired output. Changes in the underlying state will propagate new events and update the output state. In practical terms, this means that you can focus on modifying the state and any observers of that state will be notified; the state change is independent of the associated actions.
Reactive code can be used for event-driven programming, and is well suited to applications that must react to events, such as user input or sensor data. It is compatible with other paradigms such as object-oriented and functional programming, and the concepts...