← ホームに戻る

スタイリングライブラリをどう選ぶか Tailwind、Chakra、PandaCSS、Vanilla Extract…

いろんな選択肢がありますが、素のCSSを CSS Modules で書くのが良さそうというのが現状の結論です。

これからその理由を解説していきます。

CSS が十分進化している

まず1つ目。CSS 自体がどんどん進化しているという点です。

最近では、ネイティブの変数(--var)や Nesting、コンテナクエリ、カスケードレイヤーなど、

今までライブラリで補っていた機能が標準化されてきています。

そのため、あえて外部ライブラリに依存せずとも、

CSS そのものだけで十分戦える時代になっています。

ライブラリに依存せずとも便利に書いていけるなら、それが一番いいですよね。 HTML, CSS, JS で大規模で複雑なフロントエンド開発ができるようになれば、それが一番です。

その中でも CSS は、ライブラリに頼らずになんとかできる一番の候補な気がします。

また、素のCSSに慣れておいた方がライブラリが解決しようとしている課題の背景が分かるようになり、ライブラリを使った現場の時にもより深い理解を得て開発ができます。

型サポートについて

とはいえ、CSS Modules のままだと型補完が効かないため、開発体験としては物足りません。

現代のフロントエンド開発において型の恩恵が受けられないのは非常につらいです。

そこで導入するのが happy-css-modules

これを入れると

CSS に型をつける上でのライブラリの比較はこのセクションが非常に分かりやすいです。

CSS in JS ライブラリがフィットする場面

もちろん、ライブラリを使うことで得られる恩恵もあります。

たとえば PandaCSS や Vanilla Extract のようなツールを使えば、デザイントークンを型で縛って「一貫したテーマ」を維持できます。

先に組織や要件的な面で Zero Runtime CSS in JS ライブラリがフィットしない場面を考えてみます。


逆に、どんな場面で CSS in JS ライブラリが活躍するかというと

このような組織では

のでライブラリ側のメリットを受けて進められて、プロダクトのグロースが非常に高速になります。

まとめ

この構成で、まずは最小でシンプルな環境を整えましょう。