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

Knockout

219
183
+ 1
5
MobX

553
435
+ 1
125
Add tool

KnockoutJS vs MobX: What are the differences?

What is KnockoutJS? Knockout makes it easier to create rich, responsive UIs with JavaScript. 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.

What is 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.

KnockoutJS belongs to "Javascript MVC Frameworks" category of the tech stack, while MobX can be primarily classified under "State Management Library".

KnockoutJS and MobX are both open source tools. It seems that MobX with 19.8K GitHub stars and 1.21K forks on GitHub has more adoption than KnockoutJS with 9.54K GitHub stars and 1.54K GitHub forks.

Udemy, Swat.io, and Talkable are some of the popular companies that use MobX, whereas KnockoutJS is used by Runscope, Huddle, and EasyPreOrders. MobX has a broader approval, being mentioned in 52 company stacks & 32 developers stacks; compared to KnockoutJS, which is listed in 28 company stacks and 21 developer stacks.

Get Advice from developers at your company using Private StackShare. Sign up for Private StackShare.
Learn More
Pros of Knockout
Pros of MobX
  • 2
    Data centered application
  • 2
    Great for validations
  • 1
    Open source
  • 26
    It's just stupidly simple, yet so magical
  • 18
    Easier and cleaner than Redux
  • 15
    Fast
  • 13
    React integration
  • 13
    Automagic updates
  • 11
    Zero boilerplate
  • 10
    Computed properties
  • 8
    ES6 observers and obversables
  • 7
    Global stores
  • 3
    Flexible architecture the requeriment
  • 1
    Has own router package (mobx-router)

Sign up to add or upvote prosMake informed product decisions

Cons of Knockout
Cons of MobX
    Be the first to leave a con
    • 1
      Maturity

    Sign up to add or upvote consMake informed product decisions

    What is Knockout?

    It is a JavaScript library that helps you to create rich, responsive display and editor user interfaces with a clean underlying data model. Any time you have sections of UI that update dynamically (e.g., changing depending on the user’s actions or when an external data source changes), it can help you implement it more simply and maintainably.

    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.

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

    What companies use Knockout?
    What companies use MobX?
    See which teams inside your own company are using Knockout or MobX.
    Sign up for Private StackShareLearn More

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

    What tools integrate with Knockout?
    What tools integrate with MobX?

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

    Blog Posts

    What are some alternatives to Knockout and MobX?
    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’s syntax to express your application’s components clearly and succinctly. It automatically synchronizes data from your UI (view) with your JavaScript objects (model) through 2-way data binding.
    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
    jQuery is a cross-platform JavaScript library designed to simplify the client-side scripting of HTML.
    Vue.js
    It is a library for building interactive web interfaces. It provides data-reactive components with a simple and flexible API.
    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.
    See all alternatives