Во-первых, извините за мой английский… Во-вторых, мне так не нравится Redux, что я разработал совершенно новый фреймворк для управления состоянием в Javascript. Он называется MetaphaseJS.
Функции:
- Простота: без обратных вызовов, без асинхронного кода, без функциональных и неизменяемых сложностей.
- Независимый: его можно использовать с ReactJS, Angular, Vue, React Native, vanilla JS и т. д. Просто подключи и работай
- State — настоящая реляционная база данных SQLite.
- Состоянием можно управлять с помощью SQL-запросов, генерируемых Metaphase ORM (Object-Relational Mapper). Он реализует следующие шаблоны:
а) Репозиторий
- Состояние можно сохранить в файл базы данных на диске
- Состояние может быть спроектировано и заполнено любым инструментом базы данных, поддерживающим SQLite (даже с использованием графического интерфейса без использования кода), а затем его можно импортировать в приложение.
- Высокая производительность и удовлетворенность разработчиков. Например, целую систему блогов можно разработать за считанные минуты.
- Идеально подходит для статически сгенерированного контента (например, статических блогов без серверной базы данных)
- Комплексная и переключаемая система регистрации. Его можно отключить в рабочей среде для повышения производительности. Простой параметр запроса URL управляет регистратором
http://url-app?logger=true/false
- Использование Reflection-Metadata API и декораторов для упрощения определений моделей (при использовании Typescript)
- В SQLite по умолчанию все операции являются транзакционными. Это означает защиту от условий гонки, когда доступ к состоянию осуществляется асинхронной записью.