12: Flux Application Architecture & React

Flux is the application architecture that Facebook uses for building client-side web applications. It complements React's composable view components by utilizing a unidirectional data flow. It's more of a pattern rather than a formal framework, and you can start using Flux immediately without a lot of new code.” - Facebook’s Flux Architecture Home Page -


Bill Fisher (@fisherwebdev), Facebook Software Engineer & Lead Developer of the Flux Documentation, joins The Web Platform Podcast for ‘Episode 12:  Flux Application Architecture & ReactJS.’


Bill talks with hosts Nick Niemeir (@nickniemeir) & Erik Isaksen (@eisaksen) about Flux, an application architecture similar in ideas to CQRS & Data Flow Programming. It was created to alleviate the performance & scalability problems that Facebook encountered in building Facebook Messenger (Watch Hacker Way: Rethinking Web App Development at Facebook’ - a presentation by Jing Chen, Software Engineer at Facebook, for further information). Flux promotes a unidirectional data flow model through an application. In contrast to MVC, Flux mainly consists of Stores, a central Dispatcher, and Controller-Views.

Facebook has React.js as its view layer and and Flux is quickly becoming the architectural design of choice for many of its other web applications. The support, power, and marketing behind the Angular.js and Ember.js frameworks is undeniable and when Facebook released React.js many developers misunderstood its Virtual DOM approach because it was not like the frameworks developers are used too. Despite that, Facebook has proved itself a ‘contender’ in the eyes of many in the development community and many developers and engineering teams are switching their ‘framework of choice’ to React.js.


Flux combined with React.js offers many appealing possibilities but it is not limited to use with just React.js. Flux is an application architecture and it can be used as a pattern in almost any technology stack for web application development.


Flux & React Resources


Flux Projects In Progress


Flux Implementations


React Channels


Direct download: episode-12_flux-application-architecture-and-react.mp3
Category:React-Flux -- posted at: 2:36pm EST

  • React.js Starter Kit https://github.com/kriasoft/react-starter-kit

    posted by: Konstantin on 2014-09-29 07:41:07

  • Good talk. Would like to hear more opinionated uses of Flux. The point made towards the end regarding using props and passing them down through the component tree to create stateless components versus using setters is a subtlety that I wish were better described in the docs.

    posted by: Shawn Stedman on 2015-02-17 21:15:02

Post your comment:


E-mail (will not be published)


Your Comment

Please do not click submit more than once.