Get Advice Icon

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

MobX
MobX

273
213
+ 1
92
vuex
vuex

434
328
+ 1
0
Add tool

MobX vs vuex: What are the differences?

MobX: Simple, scalable state management. MobX is a battle tested library that makes state management simple and scalable by transparently applying functional reactive programming (TFRP). React and MobX together are a powerful combination. React renders the application state by providing mechanisms to translate it into a tree of renderable components. MobX provides the mechanism to store and update the application state that React then uses; 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.

MobX and vuex can be categorized as "State Management Library" tools.

MobX and vuex are both open source tools. It seems that vuex with 20.7K GitHub stars and 6.67K forks on GitHub has more adoption than MobX with 19.6K GitHub stars and 1.21K GitHub forks.

Flat, Cromon Media Services, and Toucan Toco are some of the popular companies that use vuex, whereas MobX is used by ScreenAware, Udemy, and Swat.io. vuex has a broader approval, being mentioned in 48 company stacks & 71 developers stacks; compared to MobX, which is listed in 51 company stacks and 32 developer stacks.

What is MobX?

MobX is a battle tested library that makes state management simple and scalable by transparently applying functional reactive programming (TFRP). React and MobX together are a powerful combination. React renders the application state by providing mechanisms to translate it into a tree of renderable components. MobX provides the mechanism to store and update the application state that React then uses.

What is vuex?

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.
Get Advice Icon

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

Why do developers choose MobX?
Why do developers choose vuex?
    Be the first to leave a pro

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

      Be the first to leave a con
      What companies use MobX?
      What companies use vuex?

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

      What tools integrate with MobX?
      What tools integrate with vuex?
      What are some alternatives to MobX and vuex?
      Relay
      Never again communicate with your data store using an imperative API. Simply declare your data requirements using GraphQL and let Relay figure out how and when to fetch your data.
      KnockoutJS
      Knockout is a JavaScript MVVM (a modern variant of MVC) library that makes it easier to create rich, desktop-like user interfaces with JavaScript and HTML. It uses observers to make your UI automatically stay in sync with an underlying data model, along with a powerful and extensible set of declarative bindings to enable productive development.
      GraphQL Cache
      A custom middleware for graphql-ruby that handles key construction and cache reads/writes transparently.
      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.
      Apollo
      Build a universal GraphQL API on top of your existing REST APIs, so you can ship new application features fast without waiting on backend changes.
      See all alternatives
      Decisions about MobX and vuex
      Yarn
      Yarn
      Redux
      Redux
      React
      React
      jQuery
      jQuery
      vuex
      vuex
      Vue.js
      Vue.js
      MongoDB
      MongoDB
      Redis
      Redis
      PostgreSQL
      PostgreSQL
      Sidekiq
      Sidekiq
      Rails
      Rails
      #Font-awesome
      #Bulma.io

      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
      Gianluca Bargelli
      Gianluca Bargelli
      MobX
      MobX
      Redux
      Redux
      AngularJS
      AngularJS
      React
      React

      We started rebuilding our dashboard components using React from AngularJS over 3 years ago and, in order to have predictable client-side state management we introduced Redux.js inside our stack because of the popularity it gained inside the JavaScript community; that said, the number of lines of codes needed to implement even the simplest form was unnecessarily high, from a simple form to a more complex component like our team management page.

      By switching our state management to MobX we removed approximately 40% of our boilerplate code and simplified our front-end development flow, which in the ends allowed us to focus more into product features rather than architectural choices.

      See more
      John Barton
      John Barton
      Founder at Hecate | 7 upvotes 30K views
      atHecateHecate
      Material-UI
      Material-UI
      Go
      Go
      PostgreSQL
      PostgreSQL
      Rails
      Rails
      MobX
      MobX
      Redux
      Redux
      React
      React

      Frontend choice was basically pre-ordained to be React. Seems like a strong choice on merits alone, plus I needed to learn it to stay current. I never liked Redux.js from the first time I tried to work with it, but a mate had recommended MobX and after watching a few videos I felt like I could fit the mental model of hit in my head. Using Material-UI which is a great timesaver and make sure I throw a few bucks their way every month via the open source collective.

      Defaulted to Rails with PostgreSQL just because that's where my past strength as a dev had been. First prototype was in Go but was struggling a bit with the quality of libraries I needed so I went back to old faithful.

      As soon as TypeScript was supported by default in Create React App I ported everything over. That combined with swagger code gen has given me really good type safety from the API boundary and above. I semi-regret the Go/Rails decision because I miss the type safety despite pain points with libraries.

      I will probably look to flip back to Go gradually (probably via lambda) at a point where it makes sense for the business.

      See more
      Interest over time
      Reviews of MobX and vuex
      No reviews found
      How developers use MobX and vuex
      Avatar of Bermuda Digital Studio
      Bermuda Digital Studio uses MobXMobX

      Substate Management and MVVM adoption

      How much does MobX cost?
      How much does vuex cost?
      Pricing unavailable
      Pricing unavailable
      News about MobX
      More news
      News about vuex
      More news