![](https://programming.dev/pictrs/image/4b8471bf-9c18-4e85-b245-0c8e0544c29b.png)
![](https://programming.dev/pictrs/image/8140dda6-9512-4297-ac17-d303638c90a6.png)
The first pass of elm ecosystem solved it. Before elm, it was also solved by other frameworks. But people wanted to be able to reuse their components and not rebuild new ones. React provided the ability to reuse css, and dirty js code in the middle of your application. You already had an way bigger ecosystem because you didn’t have to learn and built a complete new system again.
Personally if I had the choice I believe a new start should start at the browser level. Stop supporting HTML/CSS/JS. Create a new app-centric DSL and not a document centric one like html/css/js.
Ideally something inspired from cocoa layout. And I am dreaming but not accept generic code on the client side and only support a small controlled API. It would solve so many security issues. Sure, the creativity in such an ecosystem will be severely reduced. But we will have a so much improved UX.
I work for s company that suddenly asked to rename a lot of stuff. This had consequences. It cost time, money, and created a disconnect between internal to the dev vocabulary that couldn’t be changed easily and user facing vocabulary. Also we were lucky but this could gave broken some long used API that we are proud not to version because the policy we have internally is “we will NEVER break the API”. And so far, for 8 years we still haven’t.