Why I Don’t Use CSS Preprocessors
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, and I’m an engineering lead and author. I’ve worked as a technical lead for companies like Google, I’m close to W3C and WHATWG, and I write and review books for O’Reilly and Frontend Dogma. I love trying things, not only in web development, but also in other areas like philosophy. Here on meiert.com I share some of my views and experiences.
If you have a question or suggestion about what I write, please leave a comment (if available) or a message. Thank you!
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.
Maybe of interest to you, too:
- Next: CSS Shorthand Syntax Considered Important
- Previous: Contradictions: A Problem of Logic, a Feature of Reality?
- More under Web Development, or from 2016
- Most popular posts
Looking for a way to comment? Comments have been disabled, unfortunately.
Get a good look at web development? Try WebGlossary.info—and The Web Development Glossary 3K (2023). With explanations and definitions for thousands of terms of web development, web design, and related fields, building on Wikipedia as well as MDN Web Docs. Available at Apple Books, Kobo, Google Play Books, and Leanpub.