Well. Missionary I use in clj. In the browser there is no missionary. And I am thinking if it makes sense or not. Missionary flows can be discrete or even undefined. Mx is more like an atom. What gets rendered to dom always needs to be defined. And discrete flows are also not relevant to the dom. To trigger effects is another topic.
I will do a little test this weekend to add mx-web to my apps. I just need 3 things: 1. Reference dom elements (to get height) for which I will use tag-dom. 2. Add react components from mx-web which is I can do by adding a div in mx-web and adding a matrix cell that calls react mount when needed so that in this div react can do what it wants. 3. I will write one react components that will create mx-web ui. This I am not sure if it is allowed. And I guess rhai way the two webmx roots will not be able to query all elements, but just the hierarchy of its own root.
The idea is to do what I did to build my Web Algebra app in Common Lisp. In Missionary, build up a proxy structure that looks like the DOM, then write the glue that sends over JS to actually inject that DOM into the web page started by the index.html, which just needs a "loading" span that your JS code repopulates innerHtml. I forget the response type for "sending JS", but the browser will execute the JS if you respond with the JS and that Ajax response type. Or maybe you can do the same with WebSockets?
That ^^ is not a one day effort, but one day will prove the concept, and then you get to work on one code base, the server, and only periodically dive into the "HTML over the wire" code. Debugging gets easier, of course. The wins immediately pay for the gluing effort, which is really a one-time cost.
I pretty much forgot the glue and JS were there.
"And I guess rhai way the two webmx roots will not be able to query all elements, but just the hierarchy of its own root."
You might knock off a quick mx-root-register function, then create a function mx-search-roots that searches them all. Of course, nothinng is ever that easy. 🙂 During searches, a model might decide to update its children, and then a propagation would follow. Might be fine.
I will dust off some web-mx code and get back up to speed in the meantime.