Two Approaches to Decoupling
Another approach (which I&#x27;d love to see others pick up on) is treating the client as a dumb proxy to the server. This is the philosophy I&#x27;m embracing, and it&#x27;s wonderful!<p>If you buy into the philosophy that the UI is a deterministic function of server state and ephemeral view state (ui = f(state, viewstate)), then the core question is medium.<p>With browser, embracing HTML is the only sane choice for business. As such, the function at hand needs to convert those two state objects into a blob of HTML. This is the classic HTML template problem.<p>However, if you treat the state(s) as streams, then you&#x27;ll be where I am at in building a differential HTML engine. I&#x27;m calling this first (big) version: RxHTML ( <a href="https:&#x2F;&#x2F;book.adama-platform.com&#x2F;rxhtml&#x2F;ref.html" rel="nofollow">https:&#x2F;&#x2F;book.adama-platform.com&#x2F;rxhtml&#x2F;ref.html</a> ) and it uses my modified JSON delta format ( <a href="https:&#x2F;&#x2F;book.adama-platform.com&#x2F;reference&#x2F;deltas.html" rel="nofollow">https:&#x2F;&#x2F;book.adama-platform.com&#x2F;reference&#x2F;deltas.html</a> ).<p>The spiritual design question is what minimal things does HTML need with reactive data binding.<p>It&#x27;s pretty awesome to be able to debug a user experience by having 4 views up at once, and then see a real-time update on all 4 views at once.<p>The tech at this time is beta quality, but I&#x27;m working through this as I build a real SaaS for everyday people. I&#x27;m having a bunch of fun especially as tailwind dramatically simplifies the styling.