雑記ブログ:技術選定3「パフォーマンスと生存率」
Closedfirst published: 2019/01/02last updated: 2019/01/15
実験してきたJAMstackな技術をそろそろ他の制作物に転用していきたい。フロントは静的サイトならGatsby、Webアプリ系ならNuxt、ビルドとホスティングはNetlifyが安定しているけど、バックエンドが未確定。
DatoCMS(headlessCMS)はダッシュボードの処理速度が若干鈍く、気になり出していた。少しバグもあるし。引越しが大掛かりになる前に他のCMSも検証し、今後メインで使うものを決めよう。
- ダッシュボードのパフォーマンス
- メディア管理のしやすさ
- リミットと料金形態
- DBの永続性・汎用性
APIの使い方はほとんど同じなので、上記4点が検討材料になる。
画像倉庫として有料のGyazoを使うのはいいんだけど、管理が面倒。雑に放り込んでる分には便利。今後はプロジェクトのデータとメディアを同一の場所で管理できるようにしたい。
Strapi
Strapiはインストール型のheadlessCMS。ドキュメントはローカルでの使い方が多く書かれている。HerokuへのDeployボタンあり。
Gatsbyとの組み合わせで詳しい記事。
リピーターフィールドは計画中とのこと。
Directus
Directusもインストール型のheadlessCMS。1時間ごとにリセットされるDemo環境あり。クラウド版の事前登録があっていたので、使うかわからないけど一応申請しておいた。
ダッシュボードがVue製だからか処理が速い。ただ、フィールドの種類は豊富なものの、リピーターフィールドはなかった。
DBを扱うこと
PHPとMySQLかー。インストール型を2つ検討したけど、やっぱりデータベースに関わりたくない。あの古くてわかりづらいUIが嫌いだし、ローカルもNode.jsで完結させられなくなるので面倒。
結局、サーバー代かかるようになってしまうし、それだったらheadlessCMSにお金払って管理してもらうほうがマシだわ。
TakeShape
最近伸びてるらしいheadlessCMS。Gatsbyなどにプラグインはないがスターターはある。軽快なダッシュボードが印象的。Reactで作られてる?
独自テンプレタグでそのままデプロイできるようで、APIまたは組み込みの静的サイトジェネレータを利用可能。公式サンプルが豊富。
デモデータのインポートあり。構造がとてもわかりやすい。リピーターフィールドも用意されていたりと網羅してる感。
料金・制約は厳し目だろうか。全体の合計が自分のアカウントに紐づく?年間プランもなくまだ発展中っぽい。
prismic
これもheadlessCMS。Gatsby公式に専用のチュートリアルがあるなど、歴史は長そう。リピーターフィールドもある。
それとは別に「Slice」という機能で定義したブロックを自由に再利用できる。Gutenbergっぽい。
スターターを見ると、画像フィールドはGraphQLにローカル用のパスが用意されるみたいで gatsby-image
が使えてた。
タグはモデルを1つ作って関連で設定。テーブルはSliceで。slugは廃止されuidというユニークIDをチェックできる機能に変わっている。
気になったのは、Markdownを入れるフィールドが見当たらないこと。基本的にリッチコンテンツとしてデータを作らせる方針のよう。
料金は良心的。サイトにはリクエスト数やストレージに関して厳密には決めていないと書かれている。決まっているのは人数くらい。オープンソースは無料らしい。ダッシュボードにはトラフィック100GBと表示されてはいるけど。
カタログデータの連携もできるとのこと。
...と、最終的に使ってみることにしたprismicで雑記ブログのデータを途中まで複製していたものの、このリッチコンテンツを他に引き継げないのやばくないかと思うようになった。便利だけど、めっちゃ依存度高い。
エクスポートは有料のビジネスプラン(100ドル/月〜)だけだし。そもそもエクスポートしたJSONの形式で他のheadlessCMSにインポートさせられるのか?対応するフィールドがなかったら?
底知れぬ不安感に襲われ代替案を考えた。技術選定4につづく。