I like BEM in theory, but whenever I actually dive in and start setting up the naming scheme what I end up with are some really long and convoluted identifiers that don’t always make things easier to organize.
Web Development
Icon base by Delapouite under CC BY 3.0 with modifications to add a gradient
As i shown in blog post, the BEM power is a code decoupling and features composing ability in a typescript/javascript code. CSS naming strategy is just a small part of BEM. BEM also works great for native mobile applications where CSS does not exist at all
Yes I get that, just not a fan of what it ends up looking like. Feels like more effort than necessary for what’s really just a naming scheme.
BEM is are methodology about atomic code design, it gives you a standards and guides how to simplify code maintaining.
Isn't this also what Tailwind, UNOCSS and the likes about?
Sounds like he have a problem where working in project using BEM, different team use it in different way (which I think as what to expect). And when components are involved, is CSS convention really the focus here?
edit: ok, I think I finally got your point...
How does BEM differ from OOCSS, AMCSS, SMACSS, SUITCSS?
Well... this thing feels like frontend framework with extra step.
If you think a Object Oriented Programming is a framework, then you can think about BEM like a framework too. But a correct word is a methodology. A "framework" have too generic meaning.
Methodology gives us a methods how to improve software quality. This methods like an interfaces in programming that we must implement as programmers
I see. I might have done things in similar way without realizing what it is by just focusing on decoupling and reusability.