Web Components are not Framework Components — and That’s Okay
Web platform features operate under a whole different set of requirements and constraints:
- They need to last decades, not just until the next major release.
- They need to not only cater to the current version of the web platform, but anticipate its future evolution and be compatible with it.
- They need to be backwards compatible with the web as it was 20 years ago.
- They need to be compatible with a slew of accessibility and internationalization needs that userland libraries often ignore at first.
- They are developed in a distributed way, by people across many different organizations, with different needs and priorities.
Usually, the result is more robust, but takes a lot longer. That’s why I’ve often said that web standards are “product work on hard mode” — they include most components of regular product work (collecting user needs, designing ergonomic solutions, balancing impact over effort, leading without authority, etc.), but with the added constraints of a distributed, long-term, and compatibility-focused development process that would make most PMs pull their hair out in frustration and run screaming.