SASSがLESSより優れている点はありますか?[閉まっている]


36

私はこれらのCSSプリプロセッサの研究をしようとしています。

cssプリプロセッサとしてsassを使用するよりもsassを使用する利点はありますか?私が探している要因には、コミュニティの規模、ソフトウェアプロジェクトの成熟度などがあります。

これに関連する別の質問あったこと知っていますが、建設的に書かれて閉じられていませんでした。

更新

ブートストラップがSassを使用するようになったようです

回答:


32

Chris Coyierはcss-tricks.comでSASS対LESSの素晴らしい概要を説明しています。読む価値は間違いなくあります。

特定の質問のいくつかについて:

コミュニティ

私は完全にSASS / Compassで働いているので、LESSのコミュニティに精通しているわけではありませんが、SASSのコミュニティを本当に必要としているわけでもありません。彼らのドキュメントは素晴らしく、私がこれまでに遭遇した問題を解決しました。

しかし、それが価値があるものについては、Chrisが彼の投稿で持っているSASS対LESSの統計を以下に示します。これは現在の数値に合わせて更新しています。

LESS
の未解決の問題の数:121 Sassの未解決の問題の数:87

LESSで保留中のプル要求:13
Sassで保留中のプル要求:8

先月のLESS
でのコミット数:49 先月のSassでのコミット数:7

ちなみに、これらの数値は、2012年5月にChrisが書いた時点でほぼフリップフロップされていました。これは、開発活動に関してはどちらもほぼ同じであると言っています。

成熟

技術的に言えば、Sassは古いです。それは、2007年に発表されましたが、LESSは2009年に発表されました。それは、私が見た比較では、機能とその他の点で両方がほぼ同じレベルの「成熟度」にあるということです。

どちらにも、より多くのツールをもたらすフレームワークがあります。LESSにはLess FrameworkとCentageがあります(さらに、Twitter BootstrapはLESSで構築されています)。SassにはCompass、Gravity、Susyがあります。あなたがそれらを掘るなら、両方ともおそらくもっとありますが、それらはあなたが検索するときに最初に現れるものの一部です。

本当の違いはありますか?

それを書くことになると、そうではありません。Pythonに似たSASS構文ではなく、CSSに似たSCSS構文をSassで使用すると、典型的なマイナーな構文の違い(@vs $)しかありませんが、ほとんどの部分は基本的に同じです。

私が見つけたコーディングの2つの最大の違いは、a)数学を行うときにユニットを処理する方法と、b)継承を処理する方法でした。のようなものを指定すると20px + 2em、LESSは2番目のユニットをドロップし、最初のユニット(yeilding 22px)を意味すると仮定しますが、Sassはエラー(基本的には型の不一致)をスローします。継承の場合、LESSはそれをmixinのように扱います(詳しく説明できません。詳細については、このTuts +記事の継承セクションを参照してください)。

一方が他の種類よりも優れているかどうかは、物事をどのように処理するかによって異なります。

私が知っている他の最大の違いは、それぞれがデフォルトでコンパイルされる方法と場所です。SassはRubyを使用してサーバー上でコンパイルし、コンパイルされたCSSファイルを保存してクライアントに送信できるようにします。一方、LESSでは、less.jsスクリプトを使用してCSSをオンザフライでコンパイルします。ただし、Node.jsを使用すると、LESSはSassと同じ方法でサーバー側でコンパイルできます。

どれ?

それで、それらが基本的に同じなら、どれを使うべきですか?PythonのようなSASS構文が本当に好きな場合、またはクライアント側のコンパイルが進むべき方法であると本当に考えていない場合、または一方が他方よりも継承呼び出しを好む場合を除き、どちらを好むか(またはRubyまたはNode.jsが既にインストールされています。


2
+1すてきな要約。最近追加されない限り、LESSにもSassの@extendに
-steveax

LESSの開発は最近大幅に増加したようです。彼らは、1.5.0で@extend構文を追加しています(:extend()構文)。また、とりわけソースマップも追加しています。
レイスケニー

WraithKenny-それはまだ技術的に彼らをSassの背後に置いています。現在、標準化されたソースマップはテストブランチにあります(--debug-infoFirebugとChromeの非標準の「ソースマップ」と行コメントがあり、標準バージョンがリリースされる前にしばらく前のバージョンがあります)。プレースホルダー(基本的に、拡張元のクラスを実際に記述することなく@extend)は最新バージョンにあります。
シャウナ

@Shaunaは、それらがどのように「技術的に」遅れているのかわからない... LESSは昨年から「非標準の「ソースマップ」」を持ち、現在のSassとは異なり、最新の安定ビルドに標準のソースマップをすでに持っています。
サブヘイズ

@subhaze-前回のコメントの時点では、LESSには拡張構文がなかったため、その面ではまだ遅れていました。さらに、Sassは最近の安定ビルドに「プレースホルダー」機能を追加しました。ただし、各セットの最先端の機能を比較するために、2か月ごとに補遺を作成するつもりはありません。私の答えで言ったように、それらは両方ともほぼ同じであり、一方がもう一方が持っていない機能を追加するとき、もう一方は通常それほど遅れていません。
シャウナ

6

あなたの選択は、あなたが何をしているか、または何を使っているかに少なくともわずかに依存すると信じています。私は主にRailsで仕事をしており、CSSのSassをサポートして、新しいプロジェクトの作成時に積極的に含まれるようにしています。デフォルトでLessを利用する人気のBootstrapのようなものを使用したい場合、bootstrap-sassなどの人気のある宝石がプロジェクトで使用できるので、心配する必要はありません。

これは厳密には逸話ですが、私は個人的に持っていたすべての印象はサスが大きくコミュニティとより多くのサポートを持っている、と率直に言っための公式ドキュメントということですサスがはるかに詳細でのそれよりも長くされて少ない(すべてのフォントサイズとパディングを増やしますテキストの長い部分はありません)。両方の言語を厳密に調べることに基づいて、Lessに完全には精通していませんが、詳細を確認したい場合は、Sassのみがセレクターを継承します。人々が詳しく説明できる他の違いがあると確信しています。

最終的には、誰もが好みを持っているので、一方がもう一方よりも自分に合っていることがわかった場合、必要なことを実行できる場合は必ず使用する必要があります。ただし、Sassを使用している間は、特にRailsドメインにいることを考慮して、その明快さと効果を確かに楽しんでいます。


すでにRubyを使用している場合、SASSは理にかなっています。私はもっ​​とJavaScriptの男なので、私にとっては少ないです!
レイスケニー

5

Lessに匹敵するものがあるかどうかはわかりませんが、Sassの主な利点の1つは、コンパスライブラリですスプライト画像のCSSの自動生成に言及してください。

別の利点-少なくとも私にとって-Sassは、Pythonに似た構文を許可しているので、はるかに読みやすくなっています。


コンパスに匹敵しますか?知りませんが、彼らはTwitterのBootstrapを持っています。
レイスケニー

まあ、彼らは別の獣です。コンパスは、再利用可能なミックスインのコレクションは、OS間、ブートストラップは、慣習やウィジェットのセットです
アンドレア

また、BootstrapはSassで利用できます。
シャウナ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.