Gatsby.js 所感

以前 Gatsby.js をちょっとだけ試してみたことがある。

最近個人サイトに戻ろうかなと思っていて、「静的サイトジェネレータ」なるツール達が HTML を出力する手間を省いてくれるのではないかと思い、色々調べているところだった。

そこで Gatsby.js を試してみようと思った次第である。

結果的には、僕の狙いどおりには行かないので Gatsby.js の採用は見送ることにした。

目次

Gatsby.js の特徴・良いところ

色々試してみて感じた、Gatsby.js の良いところをまとめてみる。

SPA として動く際、裏では GraphQL が使われているのだが、GitHub Pages のような静的ホスティングサービスでも動作する仕組みになっていて、バックエンドサーバや RDB は不要。

Gatsby.js の流儀に乗れば、爆速で快適で、それなりに規模が大きなサイトを見栄え良く作れるのは確かだ。

Gatsby.js の良くないと感じたところ

一方、自分の目的や狙いには合わなかったなと思うところを挙げておく。これらは気にならない人もいるだろうから、自分の中での重み付けは任せる。

つまりは、自分は最終成果物である HTML をキレイな形で出力したいのだ。余計な要素を突っ込まないで欲しいし、インデントはキレイに保ちたい。HTML を直接書く労力を省力化できたらいいなと思っているだけであって、成果物は手打ちの HTML と同等であって欲しいのだ。Gatsby はココが出来なかった。

ブログ部分に関しては、ただ Markdown を HTML にパースして、お決まりのヘッダとフッタを付けてくれればいいだけなのに、何で大量のプラグインや GraphQL を書かなきゃいけないんだ?という気持ちは拭えなくて、面倒臭すぎた。

固定ページ部分も、React と JSX で書く必要があって、大変気に入らない。普通に HTML を書かせろ。

つーワケで、自分の今回の用途には合わなかった、というのが感想。普通にブログを作りたいだけの人、あまり内部の挙動は理解できなくてもいい (動けばいい)、という人であれば、Gatsby は人気どおりのポテンシャルを持っている素晴らしいツールだと思った。

なお、色々試していた GitHub リポジトリは以下。もう更新しないかなぁ。

Neos21/practice-gatsby