slorber / scalable-frontend-with-elm-or-redux

An attempt to make Redux and Elm applications scale
http://sebastienlorber.com/
MIT License
361 stars 29 forks source link

Proposal: custom architecture #28

Open Volune opened 8 years ago

Volune commented 8 years ago

Hi,

I've made a proposal to match the other examples, and trying to solve most of the problems I've met with redux. In order to have more flexibility to implement my ideas, I've not used an existing library. This is still heavily inspired by redux and redux-react.

One of the main difference with redux is the absence of "unique global store". In order to achieve the "Fractal" goal, stores are limited to the boundaries of each "components".

I also introduced more complexity than the simple reducer of redux and the simple connect of readux-react. But I tried to have each piece with a simple API, and the freedom for various implementations to interact.

My current opinion about my proposal is that the library is powerful and flexible enough, but the application code is not easy enough to navigate. I'm not sure if it's because of the overall architecture or not.

The proposal can be found here. The custom library code is in the engine directory. The application code in the app and modules directories. More documentation can be found in the README.md and api.md.

Any suggestion to name the proposal or improve the code is welcome.

Thanks for feedbacks.

slorber commented 8 years ago

Hi,

Thanks for your proposal. What about making a PR to merge into current repository?

I won't have time to dig deep into the implementation (seems quite different from other proposals as you have built your own framework) but will try to take a look soon.

My current opinion about my proposal is that the library is powerful and flexible enough, but the application code is not easy enough to navigate. I'm not sure if it's because of the overall architecture or not.

It's always easier to read/understand small apps when there is tight coupling. I think people following this repository are fine to have additional complexity/boilerplate in favor of ability to collaborate at large scale.