TECHNOLOGY COMPARE

Sass / styled-components

「どっちが上?」ではなく、まず同じ仕事をする道具なのかを確認します。

DIRECT COMPARISON

直接比較しやすい組み合わせ

Sassとstyled-componentsはどちらも「CSS設計・生成」の技術なので、同じ土俵で比較しやすい組み合わせです。

CSS設計・生成

Sass

変数や入れ子などをCSSへ加えるプリプロセッサ。Sass記法を標準CSSへ変換し、大きなスタイルシートを分割管理する。

何を担当する?

Sass記法を標準CSSへ変換し、大きなスタイルシートを分割管理する。

いつ使う?

  • 既存Sass資産を保守するか、ビルド時のCSS生成が必要なとき。

避けたい場面

  • 現代CSSだけで十分で、変換工程を増やしたくないとき。
CSS設計・生成

styled-components

React部品とCSSをJavaScript内で結び付けるCSS-in-JS ライブラリ。propsに応じたスタイルと固有クラスをランタイムで生成する。

何を担当する?

propsに応じたスタイルと固有クラスをランタイムで生成する。

いつ使う?

  • 既存styled-components資産や動的テーマを保守するとき。

避けたい場面

  • サーバー component中心でランタイム CSSを減らしたい新規構成。
DIRECT RELATION

Sassとstyled-componentsはスタイルの再利用、局所化、実行時コストで比較される。Sass記法を標準CSSへ変換し、大きなスタイルシートを分割管理する。一方、styled-componentsはpropsに応じたスタイルと固有クラスをランタイムで生成する。