Article image Reactive programming

27. Reactive programming

Page 27 | Listen in audio

Chapter 27: Reactive Programming

Reactive programming is a declarative programming paradigm that is concerned with the flow of data and the propagation of changes. This means that it strives to propagate changes through the code through a sequence of events. This paradigm allows for the creation of cleaner code that is easier to understand and easier to maintain.

What is Reactive Programming?

Reactive programming is a programming paradigm oriented to data flow and propagation change. In other words, instead of modeling code in sequential steps, reactive programming focuses on how variables and states change over time and how those changes can be propagated throughout the software.

Why use Reactive Programming?

Reactive programming has several advantages. First, it allows developers to write code that is easier to read and understand. Because the code is modeled around the flow of data, it's easier to see how variables and states change over time.

Second, reactive programming can lead to more efficient code. Because the code runs based on events, it can be more efficient than code that runs sequentially. Furthermore, since reactive programming is event-based, it is naturally suited to asynchronous and multithreaded programming environments.

Principles of Reactive Programming

Reactive programming is based on four main principles: responsiveness, resilience, elasticity, and message orientation.

1. Responsiveness: The system must respond in a timely manner. If a quick response cannot be guaranteed, the system should be designed to detect delays and provide an adequate response.

2. Resilience: The system must remain responsive even in the face of failures. This is achieved by isolating faults and treating faults as first-class events.

3. Elasticity: The system must remain responsive even under varying load. This is achieved through scalability, which allows the system to dynamically adjust to the workload.

4. Message orientation: The system must use asynchronous communication to ensure system robustness. This is achieved through messages, which allow system components to interact without blocking each other.

Reactive Programming Example

A common example of reactive programming is user interface (UI) programming. In a UI application, the user interacts with the system through events such as mouse clicks or keystrokes. The system then responds to these events by updating the user interface.

For example, consider a text field in a user interface. When the user types into the text field, each keystroke is an event. The system responds to these events by updating the text field value and possibly updating other parts of the UI.

Conclusion

Reactive programming is a powerful programming paradigm that can make code easier to read, understand, and maintain. By focusing on the flow of data and the propagation of changes, reactive programming can lead to more efficient code and more robust and responsive systems.

Throughout this course, you will learn more about reactive programming and how you can use it to improve your own programs. You'll learn about reactive programming principles such as responsiveness, resiliency, elasticity, and message orientation, and see examples of how reactive programming can be used in practice.

Now answer the exercise about the content:

Which of the following is not a principle of Reactive Programming?

You are right! Congratulations, now go to the next page

You missed! Try again.

Article image Functional programming

Next page of the Free Ebook:

28Functional programming

3 minutes

Earn your Certificate for this Course for Free! by downloading the Cursa app and reading the ebook there. Available on Google Play or App Store!

Get it on Google Play Get it on App Store

+ 6.5 million
students

Free and Valid
Certificate with QR Code

48 thousand free
exercises

4.8/5 rating in
app stores

Free courses in
video, audio and text