Why I Don’t Use CSS Preprocessors
Post from December 14, 2016 (↻ June 6, 2021), filed under Web Development.
Though late I wish to follow Roger as I couldn’t agree more with him: I don’t use CSS preprocessors, either (never so in my personal projects), because CSS preprocessors are like a solution in need of a problem to me, too.
My reasons almost perfectly match Roger’s:
I don’t feel the problems CSS preprocessors intend to solve are serious enough to warrant the cost, either, and to me the solution is worse than the problems as well.
I want absolute control of my CSS and work directly on it, too, and likewise see exactly what will be sent to the browser before it’s getting minified and compressed. (In this list I don’t care too much that parts of the concerns may be addressed through better tools in the future.)
I don’t want to learn and depend on a non-standard syntax to wrap my CSS in, either, neither would I want to learn several syntaxes, and again neither would I want my teams to.
I want my source CSS to be deployable at all times, too, and if any build processes fail I equally like to be able to deploy the source CSS as an emergency solution.
I don’t want to have to wait for compilation before seeing the results of CSS changes, either.
In addition to these points, I could always mirror preprocessor functionality through languages like PHP, just like Bert Bos had brought forth as a main argument against CSS constants.
The only exception to me, and there I disagree with Roger, is that we don’t only need but can actually have pretty DRY CSS without preprocessors. Not repeating ourselves should be first nature to us, a part of our craft, and as we can’t yet automate DRYing up CSS it’s on us to keep our style sheets efficient and maintainable.
As for CSS post-processors, I don’t use them, either, then, again at least not in my personal projects; yet that’s a different story, and I close with another hat tip to Roger. Listen to what he says 😊
I’m Jens Oliver Meiert, and I’m an engineering manager and author. I’ve worked as a technical lead for Google, I’m close to the W3C and the WHATWG, and I write and review books for O’Reilly. Other than that, I love trying things, sometimes including philosophy, art, and adventure. Here on meiert.com I share some of my views and experiences.
If you have questions or suggestions about what I write, please leave a comment (if available) or a message.
On December 16, 2016, 12:19 CET, Marc said:
Thanks. Genau der Meinung bin ich auch.
Mir ist daher auch nicht klar, warum SASS, LESS und what ever als Features angegeben werden, wenn ich zB auf ein tolles WP-Framework stoße. Das ist für mich eher ein negativer Punkt.
Is egal. Schönes Wochenende.
On December 16, 2016, 16:25 CET, J. Eichhorn said:
Preprocessors can be extremly usefull! I´m compiling a bunch of totally different themes with one main codebase. The maintenance would be far more work and pain without sass.
In case of an wordpress theme you aren´t committed make use of less/sass but i would always prefer it. Since you gain the ability to customize a whole codebase with just a few variables (otherwise search/replace).
And the last and maybe most important thing, is that you have to learn the preprocessors. Sass is really beneficial for me and i claim that the resulting css is dry and clean.
Have a look at the most popular posts, possibly including:
Looking for a way to comment? Comments have been disabled, unfortunately.
Perhaps my most comprehensive book: The Web Development Glossary (2020). With explanations and definitions for literally thousands of terms from Web Development and related fields, building on Wikipedia as well as the MDN Web Docs. Available at Apple Books, Kobo, Google Play Books, and Leanpub.