Once upon a time Compass was an invaluable value add to any SASS project. Rather than looking up vendor prefixes all of the time or understanding the priority order, you could just include a Compass mixin and away you went. It was a great timesaving tool, but now the time has come to move on.

The one tool that I use nowadays is Autoprefixer. Basically what it will do is go through your CSS and add in vendor prefixes where required. This means you can write standard prefix-free CSS and not have to worry about finding fallback vendor prefixes or different syntax (I’m lookin at you Internet Explorer and Flexbox).

Times have changed. I no longer see the value is including Compass when I can write box-sizing and have all of the required prefixes and syntax added in for me. I am a firm believer that libraries like Compass actually create problem developers, people become reliant on the library and have no idea what the native equivalent looks like or its syntax.

This is the same problem I have with jQuery, it is useful, but if you don’t dig deeper to see what is happening behind the scenes and you just use it, then you’re learning the library and not the language.

The beautiful thing about Autoprefixer is that you write your CSS like it was intended, you get an understanding of what native CSS actually looks like without a mixin function abstracting the real CSS.

My current front-end workflow is as follows:

HTML/SASS/JS -> Gulp -> Gulp Ruby Sass, Gulp Plumber, Gulp Autoprefixer

Basically I write my styles using SASS, I then use Gulp to run tasks that generate my SASS to CSS, combine/minify my JS and other small tasks. Removing Compass removes an additional dependency and also results in small generated CSS file sizes.