Flux vs vuex: What are the differences?
What is Flux? 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.
What is vuex? Centralized State Management for Vue.js. Vuex is a state management pattern + library for Vue.js applications. It serves as a centralized store for all the components in an application, with rules ensuring that the state can only be mutated in a predictable fashion. It also integrates with Vue's official devtools extension to provide advanced features such as zero-config time-travel debugging and state snapshot export / import.
Flux and vuex are both open source tools. It seems that vuex with 20.9K GitHub stars and 6.77K forks on GitHub has more adoption than Flux with 16.2K GitHub stars and 3.62K GitHub forks.
According to the StackShare community, vuex has a broader approval, being mentioned in 51 company stacks & 80 developers stacks; compared to Flux, which is listed in 67 company stacks and 29 developer stacks.
What is Flux?
What is vuex?
Need advice about which tool to choose?Ask the StackShare community!
Why do developers choose vuex?
Sign up to add, upvote and see more prosMake informed product decisions
What are the cons of using Flux?
What are the cons of using vuex?
Sign up to get full access to all the companiesMake informed product decisions
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.
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.
"Idiot proof MVC" using transactional pub/sub between models, views, and controllers to establish reliable one-way data flow. Combines well with Polymer web components to create a modular, loosely coupled front-end architecture.