Before we dive into the Flux architecture, let's look at the historical background for this pattern. I want you to understand why it was introduced.
Watching Facebook developers talking about the Flux architecture, I had a gut feeling that they switched to Flux from the Model-View-Controller (MVC) pattern. The MVC pattern the decoupling of your business model from view markup and coded logic. Logic is encapsulated by a function called a controller and it delegates work to services. Hence, we say we aim for lean controllers.
However, at a larger scale, such as that seen at Facebook, it looks like this pattern is not enough. As it allows bidirectional dataflow, it quickly becomes hard to understand and even harder to track. One change caused by an event can loop back and cascade the effect throughout the application. Imagine if you had to find...