はじめに

Sassと愉快な仲間たち

2年前くらいはまだCSS3のモジュールなどは趣味レベルでしか使えないマニアックなものでしたが、スマホが幅を効かせるようになってからというもの、CSSを使う環境は随分と様変わりしています。

ブラウザがLevel3のモジュールに対応するようになると、CSSで出来ることが増えるのと引き換えに表現するための記述はより複雑になりました。
モノによってはプログラミングと言ってもいいくらいのコード量になるのに、プログラミング言語ではないから素のままでは単純な計算すらできません。

Sassはメタ言語(またはプリプロセッサ)と呼ばれるものです。
素では出来ないことを出来るようにして、とにかく便利に楽ちんにしてくれる、一度使ったら手放せなくなるとても便利な道具です。
これまでにもしCSSを書きながら「計算したいな」とか「変数使えたらな」とか思った事がある人にはまさにうってつけだと思います。

仲間の紹介

今の所ネットでよく名前を見かけるメジャー勢力はこの3つ。

メタ言語としての機能は似たり寄ったりなのですが、要求される必要環境が大きく異なります。

言語 コンパイラ 拡張子 書き方 特徴 採用例
Sass Ruby .sass .scss 2種類 (SASS, SCSS) 高機能 スマホ版ピグNAVER
Less JavaScript(node.js) .less 1種類 (LESS) お手軽 Twitterはてな
Stylus JavaScript(node.js) .styl 2種類 (STYL, CSS) 速記 スマホ版Ameba

上の表を見ての通りSassだけRuby製です。
Sassが他二つと決定的に違うのは、コンパイルでCSSファイルを生成しなければブラウザで確認することができないということです。
とはいえクライアントサイドでのコンパイルはJavaScriptを使って動的に行うため、JavaScriptが動作しない環境やよりよいパフォーマンスなんかを考えると、最終的にはコンパイルが必須であると言えます。

LessとStylusでコンパイルをする場合、Node.jsが動作する環境が必要になります。
RubyとNode.jsの環境構築はノンプログラマーな人ならどちらも小難しいことだと思いますが、どのメタ言語にも有志が開発しているGUIコンパイラがあるので安心してください。

手触りを試すには?

公式サイトに用意されているオンラインツールを使えばその場でコンパイル結果が見れます。

オンラインツールのスクリーンショット
http://sass-lang.com/try.html

Sassに対応しているソーシャルコーディングサービスを使うのもお手軽です。
(ただしバージョンが最新でない場合があります)

jsdo.it
jsdo.it
jsfiddle
jsfiddle
codepen.io
codepen.io
CSSDeck
CSSDeck