title: Why use Redux over Facebook Flux?
body: <p>I've read <a href="https://stackoverflow.com/questions/32021763/what-could-be-the-downsides-of-using-redux-instead-of-flux">this answer</a>, <a href="http://redux.js.org/docs/recipes/ReducingBoilerplate.html" rel="noreferrer">reducing boilerplate</a>, looked at few GitHub examples and even tried redux a little bit (todo apps). </p>
  
  <p>As I understand, <a href="http://redux.js.org/docs/introduction/Motivation.html" rel="noreferrer">official redux doc motivations</a> provide pros comparing to traditional MVC architectures. BUT it doesn't provide an answer to the question: </p>
  
  <p><strong>Why you should use Redux over Facebook Flux?</strong> </p>
  
  <p><em>Is that only a question of programming styles: functional vs non-functional? Or the question is in abilities/dev-tools that follow from redux approach? Maybe scaling? Or testing?</em></p>
  
  <p><em>Am I right if I say that redux is a flux for people who come from functional languages?</em> </p>
  
  <p><strong>To answer this question you may compare the complexity of implementation redux's motivation points on flux vs redux.</strong></p>
  
  <p>Here are motivation points from <a href="http://redux.js.org/docs/introduction/Motivation.html" rel="noreferrer">official redux doc motivations</a>:</p>
  
  <ol>
  <li>Handling optimistic updates (<em>as I understand, it hardly depends on 5th point. Is it hard to implement it in facebook flux?</em>)</li>
  <li>Rendering on the server (<em>facebook flux also can do this. Any benefits comparing to redux?</em>)</li>
  <li>Fetching data before performing route transitions (<em>Why it can't be achieved in facebook flux? What's the benefits?</em>)</li>
  <li>Hot reload (<em>It's possible with <a href="http://gaearon.github.io/react-hot-loader/" rel="noreferrer">React Hot Reload</a>. Why do we need redux?</em>)</li>
  <li>Undo/Redo functionality</li>
  <li>Any other points? Like persisting state...</li>
  </ol>