One thing I noticed is none of the tutorials or examples follows an architectural design pattern. While it’s 100% fine to work for a while like this, once the project gets big enough it’s going to be brittle and unmanageable.
After doing some research on different architectures and their design patterns; I think the Flux architecture is the one that makes the most sense to me. It’s been jointly developed with React and solves a lot of fragility issues with cascading changes (breakage, package updates, data models, etc). But this is totally new to me and I don’t have any React experience.
So I’m wondering how do we implement this with Dash & python? What would this translate to with how we break up the code in to a file system & files. What rules should we follow? For instance where do I put my security authentication or calls to third party APIs? How do I split my callbacks and forms? How do I push changes made to the Store to all users?
Action --> Dispatcher --> Store --> View
https://facebook.github.io/flux/docs/in-depth-overview.html#content