+1
While I agree in principle, we also need to be careful to take into account encapsulation overhead, while could lead to degraded performances if done wrong (e.g., even too much Vue components nesting can lead to performance issues if not done correctly)
I started to have a look on this and:
- Web Components can be used (including reactiveness) inside Vue templates
- Some neat web Components libraries seems to exist. I think Vaadin is worth looking in more details for instance.
- It could also be interesting to check further how to implement Web Component with Vue 3
- It could also be interesting to study more lightweight libraries dedicated to the definition of Web Components (e.g. https://lit.dev/)
Probably over optimistic, but while Vue 3 was a major version upgrade, the Vue developers are aware of the migration pain and quoting them (When would Vue 3's end of life be? · vuejs/core · Discussion #7887 · GitHub):
When we do another major release, it will be much more modest and ship few breaking changes that will be easy to migrate.
We certainly don’t want to repeat the pain of Vue 2 → 3.