I’ve often heard the phrase “reinvent the wheel, or don’t” in the field of software design. It’s a lesson about the importance of appropriately reusing code. On the other hand, in the web frontend field I’m dealing with, I see cases of rebuilding things quite frequently.
This might be misunderstood as not reusing the wheel. I think it’s half true and half false.
First, the web frontend field is showing an unprecedented growth curve. It changes faster and more consistently than other fields, and I think there are environmental reasons for this. I believe that the sharp decline in IE browser market share due to smartphone proliferation became the foundation for the web ecosystem, which had been stagnant for so long, to advance.
Hype-driven development:
If a tool has a somewhat different algorithm/design structure from before and also has good usability, who wouldn’t use it? Naturally, you’d abandon the wheel you just started using and adopt the new one.
Second, different perspectives on brand identity and user experience produce completely different visual results. That’s why similar products have different design elements, and it’s common for product teams to break down the UI as much as possible to create their own extensible and reusable UI library or design system to reduce repetition. You don’t have to look far - you can see this in widely-used libraries like Vue.js’s v-slot or Bootstrap, where elements are separated into multiple layers and style classes are divided into multiple names.
While it may seem like the frontend community keeps reinventing the wheel with these inevitable changes, it doesn’t appear to be repeatedly making wheels of the same shape.