I love how Toddle does it. It is vanilla JS based on web components. This is the most performant setup, there is no bloat from a framework and no dependencies. If you build upon a framework, you will always have limitations and some sort of lock-in.
And if you really want and are fine with the performance implications, you can integrate React components