When I started using Sass to write my CSS, I made a conscious decision to not use the Compass authoring framework. As far as I’m concerned, I think I made the right choice.
Now don’t misunderstand me. This is not being written to dissuade anyone from picking up Compass. Compass can make Sass easier. It’s full of excellent mixins and reusable patterns. There are also certain features built into Compass that are just not available in Sass alone. Like sprite building, blueprint grids, Compass’s helper functions, and more.
Why ignore so much value?
I didn’t use Compass because it did too much for me. I wouldn’t have really learned Sass if I jumped right into Compass. Instead I would have learned the framework. I find this a troubling trend with many developers and frameworks out there.
Not that I wouldn’t have then gone and learned what the code powering Compass was doing. But it would have been an extra step. I wanted to learn Sass. I wanted to learn to write complex mixins. Starting off by using a pre-built library would not have helped me in reaching those objectives, for the manner in which I learn best.
That’s just the way I am. I need to write code myself for me to actually understand it and soak it all in.
Months later, after spending lots of time writing my own mixins and basic Sass functions, I look at Compass and truly understand the value of the framework and why it’s such an excellent tool to have.
I’m glad Compass exists and is out there to help others in building their Sass projects. If anything, I love checking the Compass documentation to see how they have written components that I am writing myself. It’s a great resource to see well documented and written code.
I still don’t implement Compass on my personal projects. I’ve written my own Sass framework with my own mixins and reusable patterns that are unique to my needs and written in a way that I totally understand. I understand that there is still a lot more for me to learn, and there may even come a time when I realize that I will need the extra muscle of Compass to get me through a project. But until then, I’m happy to look to Compass as a resource for learning, rather than a dependency for my projects.