White Paper: Understanding Reactive Programming vs. Reactive Systems
Jonas Bonér and Viktor Klang aim to help enterprises land on a set of simple Reactive design principles in a sea of constant confusion and overloaded expectations.
In the few short years since co-authoring the Reactive Manifesto in 2013, we’ve seen the topic of Reactive go from being a virtually unacknowledged technique for constructing applications—used by only fringe projects within a select few corporations—to become part of the overall platform strategy in numerous big players in the middleware field.
One indicator of this success is that “Reactive" has become an overloaded term with people now associating it different things—in good company with words like “streaming”, “lightweight”, and “real-time.”
Our goal is to define and clarify the term “Reactive” by looking deeply at the differences between writing code in a Reactive Programming style, and the design of Reactive System architectures, where implementation techniques, tooling, and design patterns are important components of the cohesive whole.
What You Will Read Inside
In differentiating Reactive Programming as a distinct subset of Reactive Systems at the implementation level, this white paper aims to:
- Define “Reactive" in relation to Functional Reactive Programming (FRP), Reactive Programming, and Reactive System design.
- Look at the benefits (and limitations) of Reactive Programming.
- Clarify the differences between Event-Driven and Message-Driven systems.
- Understand Reactive System architectures, looking at the journey from programs to systems, how to ensure resilience, elasticity and be productivite with Reactive Systems.
- Review how Reactive Programming and Reactive Systems relate to different use cases, such as Microservices architecture, Fast Data streaming, Mobile and IoT apps, as well as traditional Web Applications.
Podcast With The Authors (20 Min)
Get The White Paper
We've published the full content of this white paper in HTML, as well as a PDF download that you can save to read later. Enjoy and share! And if you'd like to speak with a Lightbend representative, simply contact us :)