This post touches on something really important:
“What if we create a component library in React/Vue/Angular/whatever and a new component technology replaces it?”
That’s not a question of if. It’s a question of when.
I play out this scenario with all of my clients. I tend to ask “what happens when two years from now everyone has moved onto the next framework?” If they’re building things in React, I say “what happens when the industry goes all in on Vue?” If they’re building things in Vue, I say “what happens when the industry goes all in on React?” “What if something else comes along and is the new hotness?”
It’s important to make technology choices with your eyes wide open about what the future holds. We don’t know what things will look like in the future, but we can bet it’ll be different than the present. Going into a project with this in mind helps the teams architect a more future-friendly foundation.
I’m honestly surprised there was no mention of web components in here. Having directly consumable components that are native to the web stops the cycle of jumping from framework to framework.