tags:

views:

339

answers:

1

I'm working on a Python-based project. I want to use some CSS preprocessor language which is based on CSS like LESS or Sass (SCSS), but which one should I use when doing a non-Ruby project?

Sass seem to have a more features, but it is also tightly integrated with Haml package (and rails?).

Are those features worth it?

Are both mature enough for production usage?

+10  A: 

The fact that Sass is bundled with Haml is a non-issue - you can use either seperately. If you want to use Sass only, you can ignore Haml completely (and vice versa). Because Sass generates valid CSS, it doesn't matter if you're working on a non-Ruby project. I've used it with several PHP projects.

Sass does indeed have more features and it is also more elegantly designed as a true superset of CSS. The new SCSS syntax should be immediately familiar to those experienced with CSS. The one advantage Less used to have over Sass was the CSS syntax. The developers of Sass recognised this and came up with SCSS as the solution. Both the older whitespace-sensitve Sass syntax and the SCSS syntax are interoperable, so there are no compatibility problems. You can have half of your project in Sass syntax and half in SCSS and it'll still compile.

Sass also has the advantage of the superb Compass meta-framework of which for me the highlight is the Susy extension. There are even Django specific extensions for Compass appearing.

Here's a nice article discussing a refactoring of the digg.com stylesheet using SCSS.

Yes, the extra features in Sass are definitely worth it, as is the superior design.

Yes, Sass is definitely mature enough for production use; it is at version 3 with a strong community of users and very active, responsive developers.

Charles Roper