Chapter 9. Reactive Programming
One of the many interesting applications of programming with asynchronous tasks is reactive programming. This methodology of programming is all about asynchronously reacting to changes in state. In reactive programming, code is structured in such a way that it reacts to changes. Generally, this is implemented using asynchronous data streams, in which data and events are propagated asynchronously through a program. In fact, there are quite a few interesting variants of reactive programming.
Reactive programming is particularly useful in designing graphical user interfaces in frontend development, where changes in the internal state of an application must asynchronously trickle down to the user interface. A program is thus segregated into events and logic that is executed on those events. For programmers used to imperative and object-oriented programming techniques, the hardest part of reactive programming is thinking in reactive abstractions and letting...