ヘッドレス CMS とは what-is-a-headless-cms

ヘッドレスコンテンツ管理は、今日の web デザインにおける重要な開発要素であり、フロントエンドのクライアント側アプリケーションをバックエンドのコンテンツ管理システムから切り離します。 したがって、ヘッドレス CMS は、(フロントエンドの)アプリケーションがコンテンツにアクセスできるようにするメカニズムと共に、(バックエンドの)コンテンツ管理サービスを担います。

しかしこの用語は実際には何を意味するのでしょうか? ここでは、主要な概念に関する(簡単な)概要を紹介します。

コンテンツ管理システム(CMS)とは content-management-system

コンテンツ管理システムとは何か、基本から始めましょう。

コンテンツ管理システム(CMS)は、オンラインエクスペリエンスを提供するために使用するコンテンツの保存、管理および配信を行います。

従来の CMS traditional-cms

従来の CMS には、コンテンツの保存と配信を行うバックエンド機能と、ブラウザーに表示されるエクスペリエンス(プレゼンテーションレイヤー)のマークアップをレンダリングするためのフロントエンド技術の両方が含まれていました。

非常に強力なので、コンテンツとフォーマットを完全に制御できますが、今日の急速に変化する環境で必要とされる柔軟性は一部欠けていました。例えば、外部アプリと連携する場合などです。

ヘッドレス CMS headless-cms

ヘッドレスのコンテンツ管理システムでは、バックエンドとフロントエンドが切り離されるようになりました。

ヘッドレスコンテンツ管理システム(CMS)は、どのデバイスでもコンテンツを表示できるよう、API 経由でコンテンツにアクセスできるコンテンツリポジトリとして明示的に設計および構築された、バックエンドのみのコンテンツ管理システムです。そのため、ヘッドレス部分はコンテンツバックエンドです。

独立して開発および維持されるフロントエンドは、コンテンツ配信 API(通常は JSON 形式)を使用して、ヘッドレスなバックエンドからコンテンツを取得します。 例えば、React または Angular アプリケーション(単一ページアプリケーション(SPA))です。

通常、ヘッドレス CMS バックエンドでは、モデルやスキーマに基づいてコンテンツを構造化する必要があります。 これにより、クライアントアプリケーションがエクスペリエンスのレンダリングに適したコンテンツを容易に要求できるようになります。 一部の CMS では、構造化されたコンテンツと非構造化コンテンツの両方を JSON 形式で公開できます。

このトポロジの主な特徴は、ヘッドレス CMS が JSON 形式で提供するコンテンツは、デザインやレイアウトの情報がない、純粋なコンテンツであることです。 ヘッドレス CMS の実装では、切り離されたフロントエンドアプリケーションによってすべての書式とレイアウトが維持されます。

ヘッドレス CMS トポロジの主なメリットは、クライアント側のフロントエンド実装が異なる複数のチャネルでコンテンツを再利用できることです。これにより、フロントエンドの開発プロセスがより効率的になります。ただし、フロントエンドエクスペリエンスの開発プロセスがコードと IT 中心になり、IT が基本的にエクスペリエンスに責任を持つようになる可能性があることも意味します。

コンテンツ配信 API content-delivery-apis

ヘッドレス CMS は、1 つまたは複数の方法で、コンテンツをクライアント側のアプリケーションに公開できます。最も一般的なものは HTTP REST API、GraphQL API、またはその両方です。

REST API は、よくコンテンツをリクエストするより簡単な方法と思われますが(例えば、条件に一致するすべてのコンテンツの JSON を指定するなど)、通常、あまりにも多くのコンテンツをクライアントアプリケーションに配信します。その結果、クライアントは、レンダリングに実際に必要なコンテンツを解析し、除外する必要が生じる可能性があります。

一方、GraphQL は、エクスペリエンスのレンダリングに必要なコンテンツをクライアントアプリケーションが正確にクエリできるようにするための、より焦点を絞ったメカニズムです。

フルスタック CMS fullstack-cms

フルスタック CMS は、一般に、コンテンツの管理と配信に従来のトポロジを使用するものであり、バックエンドとフロントエンドのコンテンツテクノロジーを使用してエクスペリエンスをレンダリングすることも含まれます。フルスタック CMS でのコンテンツ配信は、通常、内部のコンテンツ配信 API で行います。フロントエンド機能は、通常、そのフルスタック CMS に固有のものになります。このようにフロントエンドテクノロジーとコンテンツバックエンドを結合する主なメリットは、What-You-See-Is-What-You-Get(WYSIWYG、見たままが得られる)エクスペリエンスをオーサリングできることです。

ハイブリッド CMS hybrid-cms

フルスタック CMS の最新の進化形は、ハイブリッド CMS でしょう。これは、次の両方の長所を組み合わせることが目的です。

  • 最新のフロントエンド ツールを使用した、複数のチャネルにまたがる効率的なフロントエンド開発、
  • WYSIWYG エクスペリエンスのオーサリングを維持することで、技術者以外のユーザーにも権限を与え、コンテンツとエクスペリエンスの管理で IT が組織間のボトルネックになるのを回避します。

これは、React などの最新のフロントエンドフレームワークを採用することで実現しますが、コンテンツバックエンドとの結合は最小限に抑えられます。

分離された CMS decoupled-cms

分離された CMS という用語は独立して使用されることもありますが、基本的には、クライアントサイドのフロントエンドアプリケーションから分離されているという重要な特性を強調することで、ヘッドレス CMS バックエンドを表しています。

ヘッドフル CMS headful-cms

これは、従来の CMS の別の用語です。

参考情報 further-reading

ヘッドレス CMS トポロジでの AEM の使用について詳しくは、次を参照してください。

recommendation-more-help
fbcff2a9-b6fe-4574-b04a-21e75df764ab