LoginSignup
104
77

More than 5 years have passed since last update.

Headless CMS

Last updated at Posted at 2017-11-03
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設計は、ページ速度↓ )


参考資料

104
77
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
104
77