Redux и MobX — плюсы и минусы, когда лучше что использовать?
4 причины использовать MobX1 Легко научиться и использоватьМеньше кода писатьПолная поддержка объектно-ориентированного программированияРаботе с вложенными данными легко2 Причины не использовать MobXСлишком много свободыТрудно отлаживать
Я использую MobX сейчас, потому что я могу писать код в 3 раза быстрее, чем с Redux.
Редукс в значительной степени зависит от принципов функционального программирования:
На мобкс влияет объектно-ориентированное программирование и принципы реактивного программирования:
Дело в том, что Redux позиционируют, как законченную CQRS + ES архитектуру для разработки в функциональном для frontend программистов. Backend программисты, привыкли к более традиционной архитектуре в ооп стиле, к которой и обязывает mobx. То есть mobx является vm (view-model) из mvvm.
Выходит что предпочтение к архитектуре и парадигме является первым указателем для выбора той или иной библиотеки.
Второй указатель появляется тогда, когда Вы начинаете работать с большим количеством данных и Вам не нужна CQRS архитектура. При таких условия Redux начинает отпугивать за счет иммутабельности, а Mobx притягивать за счет мутабельности данных.
И лично я считаю что на этом все. Единственное могу добавить, что с Redux можно добиться желаемого ровно так же, как и с Mobx все испортить. Я писал и на том и на другом и знаю не по наслышке, что все не так как говорят, везде есть свои нюансы.