Reactive Principles

Learn about reactive principles in Kotlin.

We’ll start this chapter with a brief detour into Reactive programming, as it forms the foundation of the data streaming concept.

Reactive programming is a paradigm based on functional programming in which we model our logic as a set of operations in a data stream. The fundamental concepts of reactive programming are summarized nicely in The Reactive Manifesto. According to this manifesto, reactive programs should be all of the following:

  • Responsive
  • Resilient
  • Elastic
  • Message-driven

To understand these four principles, we’ll use an example.

Let’s imagine we are calling our Internet Service Provider (ISP) because our internet is slow. Do we have this picture in our mind? Let’s start then.

Responsive principle

How much time are we willing to spend waiting on the line? That depends on the urgency ...