You haven't done large enough SPA yet.
Just try any moderate sized CURD app for an enterprise
Just try any moderate sized CURD app for an enterprise
The cost of abstracting away the DOM isn't as much as I would've expected compared to the cognitive overhead of switching back and forth between languages, making sure everything is linked up nicely, as you normally would. There are a few times when that abstraction can lead to annoying hidden bugs, but overall I've found the workflow to be much nicer.