Chapter 7. Mutiny: An Event-Driven Reactive Programming API

In Chapter 5, we introduced reactive programming and how it helps implement reactive applications. Then, in Chapter 6, we discussed how Quarkus uses Mutiny to allow implementing reactive applications. This chapter focuses on Mutiny itself.1

This chapter presents Mutiny’s concepts and common patterns, which will help you understand the next few chapters. Mutiny is the API used for every reactive-related feature from Quarkus. You will see a lot more of it when delving into the construction of reactive applications and systems with Quarkus.

Why Another Reactive Programming Library?

That’s a great question! As you have seen in Chapter 5, other popular reactive programming libraries exist. So why another one?

In the past few years, we’ve observed how developers developed reactive systems and used reactive programming libraries. Through this experience, we observed the challenges faced by the developers. In a nutshell, reactive programming is hard to learn and hard to read. Writing and maintaining reactive code creates a significant burden, slowing the adoption of reactive approaches.

When we look at reactive programming usage, we immediately see a steep learning curve, which makes reactive programming limited to top-notch developers. Indeed, the functional programming roots of reactive programming are both elegant and limiting at the same time. Not every developer has a functional background. We have seen developers lost ...

Get Reactive Systems in Java now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.