Amazing! I got here by googling “react vs vanilla”. Reason being that I was trying to figure out a way to develop a web app in Scala.JS in a react-like way without having to use scalajs-react and all the react baggage that comes with the framework. What you’ve managed to come up with as a replacement for JSX is pretty much Scalatags the JS version.
I think I will try to make an app this way. I wonder how well it would scale out to a huge nested component like the ones you wrote. I guess this way we do have finer control on updating whole component hierarchies without having to scan the whole vdom so the performance is pretty much up to us.
How would you go about routing though?