CMS > headlessCMS
2020年05月16日(土) 公開
headless CMSの選定方法
キーワード
- headless
- Headless software - Wikipedia https://en.wikipedia.org/wiki/Headless_software
headless CMSとは? †
WordPressなどのCMSと違って、データの表示機能を持っていないCMS。
表示用のデータを吐き出すAPIが用意されており、フロンド側は自由に選択できるので、Webサイト構築で柔軟性が高くなる。
MVCアーキテクチャーのWebフレームワークでいうと、Viewの部分が分離されているかんじ?
- headless CMS - Google 検索
https://www.google.com/search?q=headless+CMS
リンク †
- Headless CMS - Qiita
https://qiita.com/reflet/items/55665a79940a96252c68
- Headless CMSとは? 代表的な9のCMSを比較してみました! | 株式会社WEB企画
https://webkikaku.co.jp/homepage/blog/hpseisaku/htmlcss/headless-cms/
ライブラリー / フレームワーク †
- headlessCMS | Top Content Management Systems for Jamstack sites
https://headlesscms.org/
PHP製のheadlessCMS †
- PHP headlessCMS - Google 検索
https://www.google.com/search?q=PHP+headlessCMS
- Drupal? (cf. https://knowledge.sakura.ad.jp/5776/)
- WordPress (プラグインでheadlessに改造可能)
- Cockpit (cf. headlessCMSを使うなら、Cockpitをおすすめする理由 https://blog.bagooon.com/?p=1765)
- Directus? (cf. Open-Source Headless CMS & API — Directus https://directus.io/)
Tips †
ベンダーロックインの回避 †
headless CMSのライセンスには、オープンソースとクローズドソースの2種類があった。
「Contentful」など有料のクローズドソースで人気が高いCMSもあるけど、ベンダーロックインを回避するために、クローズドソースはなるべく選ばない方が良い。
=他人の依頼なら、本人の希望で好きにすればいい。
基本的には、オープンソースのheadless CMSを選定した方が無難だと思う。
アイデア †
headless CMSを自作するなら、どうするか?
- バックエンド
言語、FWは何でもいい。- 記事を制作する機能
- 静的部分(SSGで記事ページ)は、キャッシュを吐き出す機能(記事の更新のたびに再作成)
- 動的部分(サイドメニューなど?)は、キャッシュの場合は定期的に再作成?
- 動的部分で随時更新される部分は、動的に生成してAPIで提供
- API
GraphQLにする。- RESTfulはもう古い?一応、GraphQLでもRESTfulでも両方対応できるようにしておけば無難かも?
- RESTfulはもう古い?一応、GraphQLでもRESTfulでも両方対応できるようにしておけば無難かも?
- 記事のデータ形式
- 無難なところではMarkdown形式。
- 数式や図などは、LaTeX?形式にも対応できた方が便利。
- Markdownよりも柔軟性の高い/新しい形式なら、AsciiDoc形式でも良いかもしれない。
https://ja.wikipedia.org/wiki/AsciiDoc
- フロントエンド
単なるデータ表示器なので、これまた何でもいい。- React?にしておけば、Reactのエコシステム(ReactNativeなど)も利用できるので、後々便利かも?
Reactにして不都合があれば、取り替えは自由。 - SPAにしないで、記事ごとにURLを提供するなら、Next.jsも使うべきか?
- React?にしておけば、Reactのエコシステム(ReactNativeなど)も利用できるので、後々便利かも?