4 ms·
Really nice explanation of how domain-driven design can inform the architecture of browser-based plugins/microservices/miniapps. It makes sense to separate con
by lioeters 7y ago
Really nice explanation of how domain-driven design can inform the architecture of browser-based plugins/microservices/miniapps.
It makes sense to separate concerns by passing messages between isolated layers, and I can see how it could apply to other domains similarly. To summarize for my own understanding:
- "Minilith" (love the term!) with a model of your system (possibly simplified) that you keep inside of the iframe
- App with its own model
- The message bus communicates changes between the two but it seldom needs to serialize the whole structure at any given time.. Eventual consistency through message-passing the diffs
For some applications where I want to give users scripting capability, I've been thinking of a simplified DSL with its own "VM", passing some isolated objects from the host app to render results. The architecture you described, of "miniliths" with their own state (or in-memory database) passing messages to the host (or to each other) sounds like a sane and flexible approach.