Help us understand the problem. What is going on with this article?

Headless CMS

More than 1 year has passed since last update.

Headless CMS

by reflet
1 / 14

Headlessとは?


Google先生に聞いてみる

グラフィカルユーザインタフェースなしで
デバイス上で動作することができるソフトウェアである。

このようなソフトウェアは、入力を受け取り、
ネットワークなどを介して出力を提供します。

Wikipedia - Headless software
https://en.wikipedia.org/wiki/Headless_software


Headless CMSとは

デカップルドアーキテクチャとも言われる )
 
言葉から推測すると

REST APIを使ってコンテンツを提供するCMS

※VIEWなどのプレゼンテーション機能なし


利用されている場所

CMSを提供するアプリで積極的に推進

  • Plone (Python)
  • Drupal (PHP)
  • WordPress (PHP)

など


Headless CMSの実現

フロントエンドとバックエンドの分離
  (decouple)
REST API準拠のストレージバックエンドの作成
  (APIファースト)
コンテンツを全てAPI経由で提供する
  (Content as a Service)


HeadlessCMSの背景

ユーザー体験の向上 (様々なチャネルへの配信)

  • ウェブサイト
  • シングルページアプリ
  • ネイティブアプリ
  • ウェアラブルデバイス
  • 音声アシスタント端末

これまでのCMS

current.png
こんな感じが・・・


Headless CMS

structure.png
こんな感じに・・・


今までのコンテンツ配信との違い

 
 補助的な仕組み として扱われていた
 ( RSS、Atom ... )
         ↓ ↓ ↓
 あらゆる表示をAPI経由でCMSから取得する
 ※ APIファーストを主軸とする考え方


HeadlessCMSのメリット

フロントエンド側の自由度が高まる
 ※ PHP,JavaScript,アプリなど自由に開発可能

配信対象の拡大
 ※ いろいろなチャンネルへ配信可能

フロントとバックエンドの開発分離
 ※ 片方に集中でき、専門的になる(高機能)


HeadlessCMSのデメリット

開発が専門的になり、開発工数が増加する
 ※ RESTful APIなど専門的な知識が必要
 (使い勝手の良いAPI → 設計が難しい)

APIの品質への要求が高い
 ※ 速度低下や高負荷対策(cache, scale)
 ※ 不正アクセスや攻撃への対応


まとめ

・APIファーストで魅力的なアーキテクチャ

・小規模のサイト開発には合わない(コスト大)

・学習コスト、開発コストが高い
 ※ RESTful APIなど専門知識
 ※ APIを使っても無理のないUI設計
 ( 好き勝手なUI設計は、ページ速度↓ )


参考資料

Why do not you register as a user and use Qiita more conveniently?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away