このサイトは非公式の日本語訳です。Cloudflare・EmDashプロジェクトが運営するサイトではありません。

ひとことで言うと

Astroのサイトでコンテンツを扱う方式には、リポジトリのファイルで管理する方式、別サービスのヘッドレスCMSを使う方式、EmDashのようにAstroのアプリケーションの中に管理画面を持つ方式があります。3つは解決する問題が異なります。

図:編集者が作業する場所とコンテンツの流れ

EmDash(管理画面とサイトが1つのアプリケーション)別サービスのヘッドレスCMSファイルで管理するAstroのコレクション開発時・ビルド時に読むネットワークのAPIデータベースに保存リクエスト時に読むリポジトリのファイルAstroのサイトCMSの管理画面(別のアプリケーション)Astroのサイト管理画面データベースAstroのサイト
図のテキストを読む
flowchart LR
    subgraph FB["ファイルで管理するAstroのコレクション"]
        FB1["リポジトリのファイル"] -- "開発時・ビルド時に読む" --> FB2["Astroのサイト"]
    end
    subgraph HL["別サービスのヘッドレスCMS"]
        HL1["CMSの管理画面<br/>(別のアプリケーション)"] -- "ネットワークのAPI" --> HL2["Astroのサイト"]
    end
    subgraph ED["EmDash(管理画面とサイトが1つのアプリケーション)"]
        ED1["管理画面"] -- "データベースに保存" --> ED3["データベース"]
        ED3 -- "リクエスト時に読む" --> ED2["Astroのサイト"]
    end

図の補足

公式の比較表の内容です。

判断のポイント EmDash ファイルで管理するAstroのコレクション 別サービスのヘッドレスCMS
編集者が作業する場所 Astroのアプリケーションが提供する管理画面 リポジトリのファイルと開発ツール CMSの提供元、または別に運用する管理画面のアプリケーション
ページがコンテンツを読み込むタイミング サーバーで描画するページへのリクエスト時 開発中、またはサイトのビルド時 ビルド時またはリクエスト時に、ネットワークのAPIを通じて
コンテンツモデルを定義する場所 EmDashのデータベース(管理画面またはCLIから) リポジトリのソースコード CMSの設定
チームが運用するもの Astroのアプリケーション、データベース、メディアの保存先 Astroのアプリケーションとビルドの仕組み Astroのアプリケーションと、CMSのアカウントまたはサービス
リリースの分け方 管理画面とフロントエンドを一緒にデプロイする コンテンツとフロントエンドは通常一緒にビルドする CMSとフロントエンドを別々にデプロイする

公式は、それぞれが合う条件を次のように説明しています。

  • ファイルで管理する方式:コンテンツがバージョン管理の対象に属し、書き手がGitの作業に慣れている場合。
  • 別サービスのヘッドレスCMS:複数のアプリケーションが、独立してデプロイされる1つのコンテンツサービスを必要とする場合。
  • EmDash:編集者とAstroのサイトが1つのアプリケーションであることに利点があり、チームがまとめてデプロイすることを受け入れられる場合。

WordPressはこの比較表に含まれていません。WordPressとEmDashの対応は、CMSとはと公式「WordPress開発者のためのEmDash」で扱います。

根拠にした公式ページ

  • EmDash公式「なぜEmDashか」(本サイトの訳):https://docs.emdashcms.com/why-emdash/

次に読むページ