前端-redux & mobx

Redux

single store
functional programming paradigm
immutable
pure
explicit update logic
plain JavaScript
more boilerplate
normalized state
flat state

MobX

multiple stores
object-oriented programming and reactive programming paradigms
mutable
impure
implicit update logic
“magic” JavaScript
less boilerplate
denormalized state
nested state

use MobX over Redux:

short learning curve
simple to use (magic)
quick start
less opinionated
minimal boilerplate
used in lightweight applications
mutable data
object-oriented programming
in a smaller size & few developers project
but can be used in bigger size projects too, when used with explicit constraints

use Redux over MobX:

clear constraints
testable lightweight parts
opinionated state management architecture
mature best practices
used in complex applications
immutable data
functional programming
in a bigger size & several developers / teams project
testability, scaleability, maintainability