I use Quasar (based on Vue) for everything. Yes, it makes it look like I have a hammer and everything looks like a Quasar-Vue nail,but it always works.
Everything is enclosed, components, canvas,... SPAs are easy, WPAs are easy, everything is easy.
The community could be better but the docs are excellent.
I've learned quite a few things about Vue using Quasar, so this is a plus too.
As for the back, nothing fancy, usually Python with flask.