What’s all the fuss about Reactive Programming?

Reactive Programming is all about asynchronous data streams. In history of programming a lot of architectures and paradigms had come up solving this issues. Terms like event driven, oberserver pattern and others are coming up describing the idea behind reactive programming.

In reactive programming you work on asynchronous data streams. And this can be nearly anything.

Examples of sources for asynchronous data streams:

  • events in an user interface (clicks, mouse moves, …)
  • requests from clients in a server environment
  • sensor and input data from an embedded system
  • variables, states or data structures in an application

Reactive programming gives you operators to work on those streams:

  • filter streams
  • map functions to streams
  • merge streams in various ways
  • process contained data