#author("2020-05-16T07:45:07+00:00","default:sagasite","sagasite")
[[CMS]] > headlessCMS
RIGHT:2020年05月16日(土) 公開
//RIGHT:2020年02月01日(土) 更新
//----- ----- ----- ----- ----- ----- ----- -----
headless CMSの選定方法
//----- ----- ----- ----- ----- ----- ----- -----
//===== ===== ===== ===== ===== ===== ===== ===== ===== =====
//* キーワード [#keyword]
//----- KEYWORD BEGIN -----
#html{{
<div class="panel panel-danger">
<div class="panel-heading">キーワード</div>
<div class="panel-body">
}}
//----- KEYWORD BEGIN -----
- headless
-- Headless software - Wikipedia https://en.wikipedia.org/wiki/Headless_software
//----- KEYWORD END -----
#html{{
</div>
</div>
}}
//----- KEYWORD END -----
#contents
//===== ===== ===== ===== ===== ===== ===== ===== ===== =====
* headless CMSとは? [#d305993e]
WordPressなどのCMSと違って、データの表示機能を持っていないCMS。
表示用のデータを吐き出すAPIが用意されており、フロンド側は自由に選択できるので、Webサイト構築で柔軟性が高くなる。
MVCアーキテクチャーのWebフレームワークでいうと、Viewの部分が分離されているかんじ?
-headless CMS - Google 検索
https://www.google.com/search?q=headless+CMS
//----- ----- ----- ----- ----- ----- ----- -----
** リンク [#link]
-Headless CMS - Qiita
https://qiita.com/reflet/items/55665a79940a96252c68
-Headless CMSとは? 代表的な9のCMSを比較してみました! | 株式会社WEB企画
https://webkikaku.co.jp/homepage/blog/hpseisaku/htmlcss/headless-cms/
//===== ===== ===== ===== ===== ===== ===== ===== ===== =====
//* リファレンス / チュートリアル [#reference]
//===== ===== ===== ===== ===== ===== ===== ===== ===== =====
* ライブラリー / フレームワーク [#library]
-headlessCMS | Top Content Management Systems for Jamstack sites
https://headlesscms.org/
** PHP製のheadlessCMS [#ie7268b9]
-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 [#tips]
** ベンダーロックインの回避 [#q8e522ab]
headless CMSのライセンスには、オープンソースとクローズドソースの2種類があった。
「Contentful」など有料のクローズドソースで人気が高いCMSもあるけど、ベンダーロックインを回避するために、クローズドソースはなるべく選ばない方が良い。
=他人の依頼なら、本人の希望で好きにすればいい。
基本的には、オープンソースのheadless CMSを選定した方が無難だと思う。
//===== ===== ===== ===== ===== ===== ===== ===== ===== =====
* アイデア [#idea]
headless CMSを自作するなら、どうするか?
+ バックエンド
言語、FWは何でもいい。
++ 記事を制作する機能
++ 静的部分([[SSG]]で記事ページ)は、キャッシュを吐き出す機能(記事の更新のたびに再作成)
+++ 動的部分(サイドメニューなど?)は、キャッシュの場合は定期的に再作成?
+++ 動的部分で随時更新される部分は、動的に生成してAPIで提供
~
+ [[API]]
[[GraphQL]]にする。
++ [[RESTful]]はもう古い?一応、GraphQLでもRESTfulでも両方対応できるようにしておけば無難かも?
~
+ 記事のデータ形式
++ 無難なところでは[[Markdown]]形式。
++ 数式や図などは、[[LaTeX]]形式にも対応できた方が便利。
++ Markdownよりも柔軟性の高い/新しい形式なら、[[AsciiDoc]]形式でも良いかもしれない。
https://ja.wikipedia.org/wiki/AsciiDoc
~
+ フロントエンド
単なるデータ表示器なので、これまた何でもいい。
++ [[React]]にしておけば、Reactのエコシステム(ReactNativeなど)も利用できるので、後々便利かも?
Reactにして不都合があれば、取り替えは自由。
++ SPAにしないで、記事ごとにURLを提供するなら、Next.jsも使うべきか?
//===== ===== ===== ===== ===== ===== ===== ===== ===== =====
//* 参考書 [#book]
#html{{
<!--
<hr>
-->
}}
//----------------------------------------
// A8 Ads - sakura VPS banner
~
#html{{
<center><a href="http://px.a8.net/svt/ejp?a8mat=1O73NW+3B2PRM+D8Y+BXB8X" target="_blank"><img border="0" width="468" height="60" alt="" src="http://www21.a8.net/svt/bgt?aid=101108300200&wid=001&eno=01&mid=s00000001717002003000&mc=1"></a><img border="0" width="1" height="1" src="http://www18.a8.net/0.gif?a8mat=1O73NW+3B2PRM+D8Y+BXB8X" alt=""></center>
}}
//----------------------------------------