Shootout」でLESSについてのお話をしてきた。当日の雰囲気や実況についてはハッシュタグを追っていただくとして、ちょっとだけプリプロセッサ選びについてのフォローアップをば。Shootoutという記事です。(英語ではありますが、この記事で基本的な文法は総ナメできます。)CSSプリプロセッサの基本的な機能はどれも一緒で、それに+αの違いがある。それゆえに「どれがいいの?」というのを知りたい、というのがある反面、しゃべる側も、どれがベストという結論を強く押し出すのは難しかった。講演ではそれぞれの特長のお話なり、実際つかったときの経験談なり、注意点なり、またより深いところなど...という内容になった。時間が限られていたことも含め、講演ではカバーしきれなかったツールの特長のようなところに触れつつ、Shootout(撃ち合い)ということもあり、僕個人としてひとつの結論を出してしまいましょう。LESSこれからプリプロセッサはじめる人に勧めるならLESS。宣言しつつも、以下必読。僕が講演で取り上げたわけだが、実もフタもないことをいってしまえば、Stylusの登場によって、LESSがSassと差をつけていたところがほぼ無くなっている、現状。それはJavaScriptによる実装という点や、よりCSSに近い構文の簡潔さ、といったもの。唯一の特徴としてはクライアントサイドで実行できること。本番環境で使うのは基本的にはNG。補足すると、講演でもLESSファイルのコンパイルのコストがかかるため、と話はしたものの、実際には最初のコンパイル以後はCSSをlocalStorageに保存してキャッシュする。いえど、初期の読み込みに時間もかかるわけですし、この機能が安定しているかどうかというのはわからない。(経験上、本番で基本的に使うことはないので)なのでこのようにLESSについては深く語れば語るほど、機能として秀でた特長というのはなく、ただただシンプルであるということが特長となる。今後はSassやStylusと大きな差をつけているExtendが実装されることで、世間的にはようやく横並びになるかもしれないが、それによってシンプルさというのも少し削られてしまうかもしれない。LESSが凌いで、LESSが圧倒的に支持をうけることは無いでしょう。これはLESSを徹底してマスターしていくべきかどうかの理由として、重要なことです。(のちほどのSassにおけるメリットとして詳細は書く)こういった思いがあるゆえ、僕の講演でも、選択肢のひとつとしての可能性で締めさせていただいた。一方では、とりあえずCSSプリプロセッサを試したいという人には強くおすすめできる。それから他のツールにはいっていくのでも全然構わない。Stylus僕個人として使うならばStylus。SassとLESSのいいとこ取りをしているから。CSS(.styl)はLESSのように書けるし、SassのようなExtendもできる。透過的なMixinsも好み。Stylusを強くおすすめするかというと、難しい。その理由はStylusを使っている事例が、少なくとも日本(日本語)では少ないから。いくつかStylusを解説している記事もあるが、Sassと比べれば全然少ない。それゆえに何かStylusのエラーなどにハマってしまった場合に、その解決策が見つかりにくい。LESS/Sassをひと通り経験し、なおかつできればNode.jsに関連したツールを使っている経験があるような人の方が、問題なく使えそうなイメージはある。Stylusセッションの終盤にあった通り、現在reworkというプロジェクトも走っているので、今後Stylusの立ち位置がどうなるかはわからない。※それでいうと、SassやLESSだってどうなるかはわからない。Stylusはこのようにやや玄人好みであるといっても、他のプリプロセッサ同様のレベルで使う分には、Stylusからはじめても構わない。Ruby+gemではじめるのか、Node.js+npmではじめるのかの違いくらい。GUIのツールを使ったって構わない。Stylusに対応しているものはやや少ないので、GUIの選択肢は少し減るだろう。Sass総合的にみて、人に勧めるならば、Sass。Sassについては機能的な言及はおいといて、単純に事例が多いから。今回のイベントでもGREEさんやCookpadさんなどの大規模な事例もあれば、個人や中小レベルでの事例もある。それらのレベルではブログでもオープンに紹介されていることも多いし、日本語で解説された電子書籍だってある。検索すればトラブルシューティングもできるし、Sassに関連する便利なツールなども多くある。その代表するのが先に紹介したCompass。サポートするGUIツールも多いから、とりあえず使いたいっていう人はそれらを使えばいい。勧めるならば、であり僕個人としては3つの中で一番好みではない。それはもう本当に好みのレベルの話で、メジャーじゃないものに手を出したい感もあるし、コンパイルが遅いと思っているからだ。auの回線速度みたいなレベルだとも思う。いえ仕事では基本的にSassを使う。使える(使ったことがある)人が今の身の回りには多くて、引き継ぎや共通のライブラリをつくれるからだ。人に勧めるならSassStylusLESSこれからプリプロセッサはじめる人に勧めるならLESSSassStylus僕が使うならStylusLESSSassLESSの今後次第では、StylusじゃなくLESSになるかもしれないし、仕事でもLESSを推し進めていくかもしれない。(でもたぶんreworkに手を出す気もする)でも結局CSSはCSSイベントで数度繰り返していたが、CSSとしてちゃんと書けることがすべての前提。料理だって、基本的な調理方法や下ごしらえ、またそのコツなどがそれなりに見についていれば美味しい料理ができる。そこにすごく高機能な鍋なり、電子レンジなりの道具があれば、より美味しくつくれるかもしれないし、調理時間を短縮できてなおかつ美味しいものができるかもしれない。逆に基礎がなくて便利な調理道具だけがあっても、それを使っても料理は上手くならないし、調理道具で事故を起こす可能性だってある。(一方では、温めるだけで美味しい料理ができる、なんてものもあるが)結局イベントと同じような結論で恐縮だが、ちゃんとCSSを書けそれに尽きる。SpeakerBY-NC-SA。