This is what I live by (I’m very pedantic about getting the architectural design right). Started writing the first tutorial on production optimization of Babylon 3D views. If there is any specific subject you’d like to know about, post the questions here. They will make the next subject to write about.
For state management of non-game apps, a unidirectional data flow has proven itself again and again. I built from Photoshops-like Map editing app, to trading bots with the same architecture. Babylon is no exception, this 3D configurator (under development) uses:
Redux -> React -> Babylon ─┐
<──────────────────────────┘
data flow in declarative style. It loads/saves/updates any 3D project with pure json data and CDN files, just like you would with classic product pages.
This way it is completely decoupled, and yet fully integrated with Babylon. In other words, it’s platform agnostic, be it on the web, native iOS, Android, or desktop environments.
And it produces blazing fast applications that scale almost automatically. For example, most 3D planner apps I’ve tried on the web are quite laggy in responsiveness (there is a noticeable lag from your click to UI update). With proper architecture, you have butter smooth experience like Apple software.
This subject is too deep for a single post reply. It deserves a full fledge series of articles by itself. But that is the bird’s eye view.