私はこれらのcssプリプロセッサについて研究しようとしています。
Cssプリプロセッサとしてsassをlessよりも使用する利点はありますか?私が探している要素には、コミュニティの規模、ソフトウェアプロジェクトの成熟度などがあります。
私はそこに知っています これは別の質問でした これに関連していますが、建設的に書かれ、閉じられていませんでした。
bootstrapがSassを使用するようになった のように見える
Chris Coyierが css-tricks.com でSASS対LESSの素晴らしい概要を説明しています。それは間違いなく読む価値があります。
特定の質問のいくつかについては:
コミュニティ
私は完全にSASS/Compassを使用しているので、LESSのコミュニティに精通していませんが、SASSのコミュニティを本当に必要としていません。彼らのドキュメントは素晴らしく、これまでに遭遇した問題を解決しました。
ただし、価値があるのは、Chrisの投稿にあるSASS対LESSの統計で、現在の数値に合わせて更新しました。
LESSの未解決の問題の数:121
Sassの未解決の問題の数:87LESSの保留中のプルリクエスト:13
保留中のSassのプルリクエスト:8先月のLESSでのコミット数:49
先月のSassでのコミット数:7
なお、2012年5月のChrisの執筆時点では、これらの数値はおおむねフリップフロップになっています。これは、開発活動に関してはどちらもかなり同じだと私に言います。
成熟度
技術的に言えば、Sassは古いです。それは2007年に発表され、LESSは2009年に発表されました。とはいえ、私が見た比較では、機能とその他に関して、どちらも「成熟度」のレベルはほぼ同じです。
どちらにも、より多くのツールを提供するフレームワークがあります。 LESSには少ないフレームワークとCentageがあります(さらに、Twitter BootstrapはLESSで構築されています)。Sassにはコンパス、重力、およびSusyがあります。検索したときに最初に現れるものの一部です。
それで、実際の違いはありますか?
それを書くことになると、そうではありません。 SassでCSSのようなSCSS構文を使用する場合(よりPythonのようなSASS構文の代わりに)、典型的な小さな構文の違い(@
対$
)ですが、大部分は基本的に同じです。
私が見つけたコーディングの2つの最大の違いは、a)演算を行うときの単位の扱い方と、b)継承の扱い方でした。 20px + 2em
、LESSは2番目のユニットをドロップし、最初のユニットを意味すると想定します(yeilding 22px
)、Sassはエラーをスローします(基本的に、型の不一致)。継承により、LESSはそれをミックスインのように扱います(詳しく説明することはできないので、詳細については このTuts +記事の継承セクション を参照してください)。
どちらが他の種類より優れているかは、物事をどのように処理するかによって異なります。
私が知っているもう1つの最大の違いは、それぞれがデフォルトでコンパイルされる方法と場所です。 SassはRuby=を使用し、サーバーでコンパイルします。これにより、コンパイル済みのCSSファイルを保存してクライアントに送信できます。一方、LESSはデフォルトでless.jsスクリプトを使用してCSSオンザフライ。ただし、Node.jsを使用すると、LESSはSassと同じ方法でサーバー側でコンパイルできます。
どちらですか?
それで、それらが基本的に同じである場合、どちらを使用するべきですか?まあ、PythonのようなSASS構文が本当に好きであるか、クライアント側のコンパイルが進むべき道だと本当に思っているのでない限り、または一方の継承を他方よりもずっと優先したい場合は、(またはすでに)RubyまたはNode.jsがインストールされています。
私はあなたの選択が少なくともあなたが何をしているか、何を使っているかに依存するかもしれないと信じています。私は主にRailsを使用しており、作成時にCSSが アクティブに含まれるようになるまで 、Sassをサポートしています新しいプロジェクトです。デフォルトでLessを使用する定番のBootstrapのようなものを使用する場合、 bootstrap-sassなどの人気のある宝石がたくさんあるので、心配する必要はありません。 プロジェクトで使用できるようにします。
これは厳密には逸話ですが、私が個人的に感じたすべての印象は、Sassがより大きなコミュニティとより多くのサポートを持っているということです。率直に言って、 Sass の公式ドキュメントは Less のものよりもはるかに詳細で長い(すべてのフォントサイズとパディングを増やしても、テキストの一部が長くなるわけではありません)。詳細を知りたい場合は、私はLessに完全には精通していませんが、厳密に両方の言語を調べることに基づいていますが、Sassはセレクター継承を持つ唯一のものです。人々が詳しく説明できる他の違いがあると私は確信しています。
結局のところ、誰もが好みを持っているので、一方が他方よりも自分に合っていることがわかった場合、それが必要なことを実行できるのであれば、必ずそれを使用してください。しかし、Sassを使用しているときは、特にRailsドメインにいることを考えると、その明快さと効果を楽しんでいます。
Lessに匹敵するものがあるかどうかはわかりませんが、Sassの主な利点の1つは Compass ライブラリです。これにより、多くの一般的なCSSイディオム、古いブラウザに必要な標準的なハック、スプライト画像のCSSの自動生成は言うまでもなく、ブラウザのプレフィックスが必要です。
別の利点-少なくとも私にとって-は、SassがPythonのような構文を許可することです。