> and will be brittle because of the global nature of js and css.
Modules have existed in JavaScript for several years now, and there are numerous solutions for dealing with global CSS (CSS Modules, Glamor, etc). There are many large production web applications using React, probably generating billions of dollars worth of business - I don’t think they’re “brittle”.
> You can implement the same element as a Web Component and now it will work in any application regardless of framework... you can just drop in and it will work.
Sure, you can just drop a Web Component into any framework. People use React for a lot more than just defining components - they use it for data fetching, animations, etc.
> If your application has conflicting css classes or element ids or javascript variables the Web Component will still work reliably.
If this is the case I think you’ve got much bigger problems with your app than choosing which JavaScript library you’re going to use. React apps will work despite conflicting element IDs as well, but they’re still a bug in your app. Web Components don’t magically get rid of JavaScript variables. CSS classes still matter unless your whole app is going to live in the Shadow DOM, which isn’t really what the Shadow DOM is for.
> That’s hot! React components will feel a bit cold as cross-framework Web Components take over.
Again - you can use both. They solve different problems.