Chapter 1, What Does Being Reactive Mean?, explains the basics of reactive programming and how it compares with imperative programming, and also shows some example usage.
Chapter 2, Reacting for the First Time, covers the basics of event streams and operators using bacon.js.
Chapter 3, A World Full of Change - Reactive Extensions to the Rescue, in this chapter we explore the definitions and types of Observers and Observables.
Chapter 4, Transforming Data - Map, Filter, and Reduce, covers the most basic and important operators from functional reactive programming.
Chapter 5, The World Changes Too Fast - Operators to Deal with Backpressure, explains different techniques to mitigate the problem of receiving data faster than you can process it.
Chapter 6, Too Many Sources? - Combining Observables, teaches you to combine different sources of data to create new ones.
Chapter 7, Something Is Wrong - Testing and Dealing with Errors, explains how to deal with errors in observables and how to test programs using functional reactive programming.
Chapter 8, More about Operators, shows some important operators that did not fit into the previous chapters.
Chapter 9, Composition, explains what a transducer is and why you should use it.
Chapter 10, A Real-Time Server, builds the backend part of an web chat application used as an example of functional reactive programming.
Chapter 11, A Real-Time Client, builds the frontend part of an web chat application used as an example of functional reactive programming.