Write code thinking :)
Now, We can implement web applications with Flux or Redux etc...
But, I often hear a story that "Control flow of Flux/Redux is cool, but where to implement domain logic."
I think that people skip to Flux/Redux from MV* pattern.
MV* --> ( Missing things ) --> Flux/Redux(CQRS+EventSourcing)
Almin aim to fill the Missing things between MV* and Flux/Redux.
Almin provides some patterns, is not a framework.
Almin is an implementation of Read/Write Stack Architecture that is well-known as Flux/CQRS.
npm install almin
You'll also need a Promise polyfill for older browsers.
npm install es6-promise
:memo: Please See https://almin.js.org/ for details.
It aims to create a scalable app.
The above figure is overview of Almin architecture that is similar to CQRS(Command Query Responsibility Segregation).
But, Almin is not a framework, provides only these components
Other components like Domain, Repository and State are written by you!
Of course, Almin help you to write other components.
Also, You may notice that these components are similar to Flux architecture.
Almin is also a flux implementation library. :thumbsup:
| Almin | Flux | Redux | |------------|---------------|------------------------| | Dispatcher | Dispatcher | store.dispatch | | Context | Container | Middleware/React Redux | | UseCase | ActionCreator | Actions | | Store | Store | Store | | StoreGroup | Container | combineReducers | | (State) | Store | Reducer | | (Domain) | | | |(Repository)| | |
Repositoryis optional on Almin, because the best for these components is vary based on application.
Almin has not a perfect solution for an application, but we can write code thinking.
We are going to learn two architectures(Flux/CQRS) using Almin :)
Welcome to pull request!
The Almin repo is managed as a monorepo; it's composed of npm packages.
almin-devtools| | browser debugging extension |
Please see CONTRIBUTING.md for more details.
git checkout -b my-new-feature
git commit -am 'Add some feature'
git push origin my-new-feature