Get Advice Icon

Need advice about which tool to choose?Ask the StackShare community!

Flux
Flux

359
339
+ 1
130
Redux
Redux

7.2K
5.4K
+ 1
609
Add tool

Flux vs Redux: What are the differences?

Developers describe Flux as "Application Architecture for Building User Interfaces". 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. On the other hand, Redux is detailed as "Predictable state container for JavaScript apps". Redux helps you write applications that behave consistently, run in different environments (client, server, and native), and are easy to test. On top of that, it provides a great developer experience, such as live code editing combined with a time traveling debugger.

Flux belongs to "Javascript UI Libraries" category of the tech stack, while Redux can be primarily classified under "State Management Library".

"Unidirectional data flow" is the top reason why over 43 developers like Flux, while over 175 developers mention "State is predictable" as the leading cause for choosing Redux.

Flux and Redux are both open source tools. Redux with 49.5K GitHub stars and 12.8K forks on GitHub appears to be more popular than Flux with 16.2K GitHub stars and 3.62K GitHub forks.

According to the StackShare community, Redux has a broader approval, being mentioned in 1036 company stacks & 836 developers stacks; compared to Flux, which is listed in 67 company stacks and 29 developer stacks.

What is Flux?

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.

What is Redux?

It helps you write applications that behave consistently, run in different environments (client, server, and native), and are easy to test. t provides a great experience, such as live code editing combined with a time traveling debugger.
Get Advice Icon

Need advice about which tool to choose?Ask the StackShare community!

Why do developers choose Flux?
Why do developers choose Redux?

Sign up to add, upvote and see more prosMake informed product decisions

    Be the first to leave a con

    Sign up to add, upvote and see more consMake informed product decisions

    What companies use Flux?
    What companies use Redux?

    Sign up to get full access to all the companiesMake informed product decisions

    What tools integrate with Flux?
    What tools integrate with Redux?

    Sign up to get full access to all the tool integrationsMake informed product decisions

    What are some alternatives to Flux and Redux?
    jQuery
    jQuery is a cross-platform JavaScript library designed to simplify the client-side scripting of HTML.
    React
    Lots of people use React as the V in MVC. Since React makes no assumptions about the rest of your technology stack, it's easy to try it out on a small feature in an existing project.
    jQuery UI
    Whether you're building highly interactive web applications or you just need to add a date picker to a form control, jQuery UI is the perfect choice.
    AngularJS
    AngularJS lets you write client-side web applications as if you had a smarter browser. It lets you use good old HTML (or HAML, Jade and friends!) as your template language and lets you extend HTML鈥檚 syntax to express your application鈥檚 components clearly and succinctly. It automatically synchronizes data from your UI (view) with your JavaScript objects (model) through 2-way data binding.
    Vue.js
    It is a library for building interactive web interfaces. It provides data-reactive components with a simple and flexible API.
    See all alternatives
    Decisions about Flux and Redux
    Marcos Iglesias
    Marcos Iglesias
    Sr. Software Engineer at Eventbrite | 13 upvotes 80.8K views
    atEventbrite-0Eventbrite-0
    Backbone.js
    Backbone.js
    Marionette
    Marionette
    Flux
    Flux
    Redux
    Redux
    React
    React

    We are in the middle of a change of the stack on the front end. So we used Backbone.js with Marionette. Then we also created our own implementation of a Flux kind of flow. We call it eb-flux. We have worked with Marionette for a long time. Then at some point we start evolving and end up having a kind of Redux.js-style architecture, but with Marionette.

    But then maybe one and a half years ago, we started moving into React and that's why we created the Eventbrite design system. It's a really nice project that probably could be open sourced. It's a library of components for our React components.

    With the help of that library, we are building our new stack with React and sometimes Redux when it's necessary.

    See more
    Glenn 'devalias' Grant
    Glenn 'devalias' Grant
    Hack. Dev. Transcend. | 5 upvotes 30.4K views
    React
    React
    Redux
    Redux
    redux-saga
    redux-saga
    Bootstrap
    Bootstrap
    Go
    Go
    AWS Lambda
    AWS Lambda
    AWS CloudFormation
    AWS CloudFormation
    Amazon DynamoDB
    Amazon DynamoDB
    WebStorm
    WebStorm
    Git
    Git
    GitLab
    GitLab
    #Serverless
    #JetBrains

    Working on a project recently, wanted an easy modern frontend to work with, decoupled from our backend. To get things going quickly, decided to go with React, Redux.js, redux-saga, Bootstrap.

    On the backend side, Go is a personal favourite, and wanted to minimize server overheads so went with a #serverless architecture leveraging AWS Lambda, AWS CloudFormation, Amazon DynamoDB, etc.

    For IDE/tooling I tend to stick to the #JetBrains tools: WebStorm / Goland.

    Obviously using Git, with GitLab private repo's for managing code/issues/etc.

    See more
    Rails
    Rails
    Sidekiq
    Sidekiq
    PostgreSQL
    PostgreSQL
    Redis
    Redis
    MongoDB
    MongoDB
    Vue.js
    Vue.js
    vuex
    vuex
    jQuery
    jQuery
    React
    React
    Redux
    Redux
    Yarn
    Yarn
    #Bulma.io
    #Font-awesome

    I'm building a new process management tool. I decided to build with Rails as my backend, using Sidekiq for background jobs. I chose to work with these tools because I've worked with them before and know that they're able to get the job done. They may not be the sexiest tools, but they work and are reliable, which is what I was optimizing for. For data stores, I opted for PostgreSQL and Redis. Because I'm planning on offering dashboards, I wanted a SQL database instead of something like MongoDB that might work early on, but be difficult to use as soon as I want to facilitate aggregate queries.

    On the front-end I'm using Vue.js and vuex in combination with #Turbolinks. In effect, I want to render most pages on the server side without key interactions being managed by Vue.js . This is the first project I'm working on where I've explicitly decided not to include jQuery . I have found React and Redux.js more confusing to setup. I appreciate the opinionated approach from the Vue.js community and that things just work together the way that I'd expect. To manage my javascript dependencies, I'm using Yarn .

    For CSS frameworks, I'm using #Bulma.io. I really appreciate it's minimal nature and that there are no hard javascript dependencies. And to add a little spice, I'm using #font-awesome.

    See more
    React
    React
    Redux
    Redux
    AngularJS
    AngularJS
    React Native
    React Native
    redux-saga
    redux-saga
    Apache Cordova
    Apache Cordova
    #JavascriptMvcFrameworks

    We had contemplated a long time which #JavascriptMvcFrameworks to use, React and React Native vs AngularJS and Apache Cordova in both web and mobile. Eventually we chose react over angular since it was quicker to learn, less code for simple apps and quicker integration of third party javascript modules. for the full MVC we added Redux.js for state management and redux-saga for async calls and logic. since we also have mobile app along with the web, we can shere logic and model between web and mobile.

    See more