My Problem with The Problem with Atomic CSS
Every time I read a hit piece on Atomic CSS, I feel compelled to respond. I can’t help it. I like thinking and talking about this stuff.
The problem with atomic CSS by Adam Silver is the latest post to take a dim view of my CSS architectural approach of choice. In it, he goes through a list of 30 points of why he feels Atomic CSS is problematic.
Jeez, 30 points! Wow, Atomic CSS must be awful!
Yet, if that is so, how can it be that so many front end teams like Medium, TED, Marvel App, Buzzfeed, Belly, and more are making the switch away from traditional/semantic and over to functional/atomic?
Like most Atomic critics, Adam objects to the approach conceptually, but from what I can tell, has n0t used it in any significant way. He has his own way of doing “semantic” CSS that works for him. Great! Do that then.
If you are happy with the way the way you write CSS and don’t want to change, then don’t. Feel free to stop reading at this point.
Its funny. I read posts and comments from Atomic CSS skeptics telling me how miserable I must be doing CSS this way. This approach can’t work! It must not work!
Yet for me, it works very well thank you.
The way Adam describes Atomic CSS does not match the experience that I have had with it. For the most part, problems he describes have either not happened to me, or are mischaracterizations of how Atomic CSS actually works in practice.
What can’t be disputed is that Atomic CSS is growing in popularity despite the naysayers. I believe it is gaining traction because it solves some tricky problems with front end architecture at scale.
If you are part of a large team with a large codebase that continues to grow over time, then you can probably see how it can help you. If that is not your situation, then its appeal may be less obvious, but it has many other benefits that Adam describes then disputes in his 30-point manifesto.
From what I have seen, many people are happy with Atomic/Functional CSS once they try it on a project.
Dan Mall uses it to build design systems. Zach Holman used it to redesign his blog. The Machine Intelligence Community at MIT used it to build their site. Travis Dunn used it to launch his MVP. Simon Vrachliotis used it to refactor his company’s CSS architecture. Brent Jackson uses it to create UI components with CSS in JS.
If you believe Adam Silver and his fellow critics, then Atomic CSS has no worthwhile benefits for anyone. If you believe people like Adam Morse, Thierry Koblenz, Cole Peters and myself, then it works out pretty darn well.
Maybe try for yourself and then decide. Bonus points for posting about your experience!