Webのシステム開発やWebサイトには、管理画面を持って最新の情報を配信することが多くなってきました。その中でも開発工数の削減や時間短縮は重要なテーマになってきます。
今回は、最近弊社でも採用した開発工数・時間を短縮できる「ヘッドレスCMS」についてご紹介させていただきます。
この記事をオススメしたい方
● Webサイトを新規で開発予定の方
● Webサイトのリニューアルを検討中の方
そもそもCMSとは?
CMSとは「Contents Management System(コンテンツマネジメントシステム)」の略で、コンテンツを管理するシステムを表しています。
基本的にはWebサイトに掲載するコンテンツを構成するテキストや画像を管理・配信するシステムのことで、管理画面を持ち、そこからテキストや画像をサーバーにアップするとフロントのページにそれらのコンテンツが表示されます。
一般的なWebサイト制作や開発だと、サーバーにアップするための仕組みを自前で用意しなくてはいけませんが、CMSはCMS自体がサーバーにアップする機能までを含んでいるため、専門の知識がなくてもWebにコンテンツを配信できます。
そのため、専任のエンジニアがいなくてもCMSの操作にさえ慣れれば簡単に更新ができます。様々なCMSサービスが提供されており、ユーザーのリテラシーに合った最適なものを選ぶ必要があります。
<CMSサービスの一例>
● WordPress
● Movable Type
● Wix
● Blue Monkey
● Jimdo
● ホームページ.com
その他、Joomla・Drupal・はてなブログ・Note・Qiitaなど
このようにCMSといっても、簡易なWebサイトを作れるものから、技術的な理解が必要なものまで幅広いサービスが提供されています。
ヘッドレスCMSとは?
CMSについてイメージが湧いたところで、「ヘッドレスCMS」について見ていきます。ヘッドレスの「ヘッド」は「ビュー(表示する画面)」を指し示しており、ビューのないCMSということになります。
これはCMSを管理画面(バックエンド)からAPI経由でコンテンツを取得し、ビュー(フロント)で表示させることを意味します。これらのことから、ヘッドレスCMSはWebサイトとCMS本体のAPIを経由して接続し、ひとつのWebシステムのように稼働させることができます。
<メリット>
● ヘッドレスCMSではビューを自由に作れ自由度が高まる
● ブラウザのみでなく、スマートフォンアプリやIotなど様々なビューに対応できる
● フロントエンド・バックエンドが分離することで効率化が図れる
<デメリット>
● ビューに表示する技術的対応は必要で、自前で用意する必要がある
● CMSによってAPIのセキュリティ対応が必要になる
● 技術者を入れて一緒に運用を検討する必要がある
またヘッドレスCMSの話題になると、同等に出てくるキーワードが「デカップルド・アーキテクチャ」になります。
<デカップルド・アーキテクチャ / Decoupled Architecture>
フロントエンドとバックエンドを別々のフレームワークを活用して開発する手法。
「連結する」という意味を持つ「couple」に否定の接頭辞“de”がついた言葉で、コンポーネント間やレイヤー間のやりとりをタイトに相互依存させてしまうのではなく、定義のしっかりとしたインターフェースを介して行う事ができます。
ヘッドレスCMSの使用例
やりたいことや、どのCMSを選択するかによって大きく使い方は変わりますが、弊社ではWordPressを会員サイトのヘッドレスCMSとして使用しました。
ワークフローのあるシステム内に、コンテンツをデリバリーする方法として、スクラッチの管理画面を用意せずWordPressのCMS機能を活用してAPI経由でフロントにコンテンツを呼び込ませました。
<WordPressをヘッドレスCMSとして採用した理由>
● WordPressの管理画面からカスタムフィールドを活用すれば、自由度が高く、運用に入ってからも項目を変更できる
● WordPress自体も、また提供されるREST APIもセキュリティやプログラムが担保されているので、開発工数や時間の削減となる
と、いうことがあげられます。
WordPressは採用実績が多く、テンプレートやプラグインも多く存在しているCMSのため、複雑ではないWebサイトやコンテンツデリバリー、Eコマースには適しています。特性を活かして、工数削減を検討してみるのも良いかもしれません。
ヘッドレスCMS、いかがでしたか?
Webシステム開発には、様々な選択肢があります。運用までを検討して、どのような作りに設計するかで工数は大きく変わるものです。様々な方法を検討してみると、その時にフィットした方法が見つかるかもしれません。
Good Thingsでは、システム開発に関するご相談をお受けしております。