Why I'm Still Against SASS and LESS
amberweinberg.com
amberweinberg.com
So addressing her misgivings in order:
1. Code bloat happens—whether hand-crafted or automatic bloat. A good designer will always fight bloat, and a preprocessor helps reduce bloat. Mixins can introduce bloat, and decrease bloat.
2. Clients should never edit the CSS. We've had folks claim that if we'd come up with the design, or even the template, and they'd use it. More often than not, they can't. They just don't know how to do it. The designs they want are just to complicated for them to edit the CSS to them.
3. Preprocessors do not introduce logic into the CSS, they introduce logic in how the CSS is created. By and large a normal site does not need any if/else/for-loop logic to the stylesheet.
The problems that inspired jQuery, SASS, Less are all based upon inconsistent implementations. If the browsers would all just play along and implement all the standards we'd just be okay, right? But obviously you need compatibility layers to handle all the inconsistencies... and so you get frameworks, preprocessors, etc.
The tone of the article made it seem that the author is resistant to this added complexity, and is blaming the tools that have been developed for managing it.
A good tool like SASS/Less is not something to sneeze at without researching fully.
I also think the mixins and nesting are overstated in terms of increasing the efficiency of designing sites with CSS. I am not typically declaring colors 20 times, or doing nesting so deep that it becomes confusing.
The benefits don't outweigh downsides of dealing with SASS files and preprocessors.
Everybody. We no longer FTP the CSS into the production server like it's 1998. We also minify (a pre-processing step) and concatenate (a pre-processing step). LESS/SASS is just another preprocessing step.
>Some times it's ok to have to declare #fff more than once...
Yes, if you are working on some small / toy site. Being able to have logical names for colors and change them all at once is very valuable for anything larger.