CMS > headlessCMS

2020年05月16日(土) 公開

headless CMSの選定方法

#html{{

div class="panel panel-danger">

 <div class="panel-heading">キーワード</div>
 <div class="panel-body">

}}

#html{{

 </div>

/div>
}}

headless CMSとは?

WordPressなどのCMSと違って、データの表示機能を持っていないCMS。
表示用のデータを吐き出すAPIが用意されており、フロンド側は自由に選択できるので、Webサイト構築で柔軟性が高くなる。
MVCアーキテクチャーのWebフレームワークでいうと、Viewの部分が分離されているかんじ?

リンク

ライブラリー / フレームワーク

PHP製のheadlessCMS

Tips

ベンダーロックインの回避

headless CMSのライセンスには、オープンソースとクローズドソースの2種類があった。
「Contentful」など有料のクローズドソースで人気が高いCMSもあるけど、ベンダーロックインを回避するために、クローズドソースはなるべく選ばない方が良い。
=他人の依頼なら、本人の希望で好きにすればいい。
基本的には、オープンソースのheadless CMSを選定した方が無難だと思う。

アイデア

headless CMSを自作するなら、どうするか?

  1. バックエンド
    言語、FWは何でもいい。
    1. 記事を制作する機能
    2. 静的部分(SSGで記事ページ)は、キャッシュを吐き出す機能(記事の更新のたびに再作成)
      1. 動的部分(サイドメニューなど?)は、キャッシュの場合は定期的に再作成?
      2. 動的部分で随時更新される部分は、動的に生成してAPIで提供

  2. API
    GraphQLにする。
    1. RESTfulはもう古い?一応、GraphQLでもRESTfulでも両方対応できるようにしておけば無難かも?

  3. 記事のデータ形式
    1. 無難なところではMarkdown形式。
    2. 数式や図などは、LaTeX形式にも対応できた方が便利。
    3. Markdownよりも柔軟性の高い/新しい形式なら、AsciiDoc形式でも良いかもしれない。
      https://ja.wikipedia.org/wiki/AsciiDoc

  4. フロントエンド
    単なるデータ表示器なので、これまた何でもいい。
    1. Reactにしておけば、Reactのエコシステム(ReactNativeなど)も利用できるので、後々便利かも?
      Reactにして不都合があれば、取り替えは自由。
    2. SPAにしないで、記事ごとにURLを提供するなら、Next.jsも使うべきか?

#html{{

!--

hr>

  • >
    }}


#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>
}}


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS