Jamstack 【JavaScript+API+Markup stack】
概要
Jamstack(JavaScript+API+Markup stack)とは、Webアプリケーションの構成手法(技術スタック)の一つで、事前に構築済みの静的なサイトを配信し、動的な要素はページ上のJavaScriptからサービス側のAPIへアクセスする方式。「JavaScript」「API」「Markup」の頭文字を取って「Jam」としている。一般的なWebアプリケーションの構成法では、WebサーバにWebアプリケーションサーバやデータベース管理システム(DBMS)などを組み合わせ、ページの雛形とデータベースなどに格納されたコンテンツを組み合わせて閲覧者の求めに応じて動的にWebページを生成して配信する。
この方式は複雑な内容を配信できるものの、インターネットに公開されたWebアプリケーションのホスティング環境を整備しなければならない。サーバ上でのページ生成の負荷が重いため、アクセスが増えるに従ってコスト増や性能劣化、障害増加に対処しなければならなくなる。
Jamstackでは開発側でヘッドレスCMSや静的サイトジェネレーターなどを組み合わせてWebアプリケーションを構築するが、できたアプリケーションで全ページを生成して静的なWebページとして取得する。これをアプリケーション機能の無い単純なWebサーバで静的サイトとして利用者に配信する。
ページ上で利用者の入力を受け付けるといった動的な要素が必要な場合は、クラウドサービスなどにAPIを設けてページ上のJavaScriptコードからアクセスして対応する。ページそのものは静的に配信するため負荷が軽く、Netlifyのような静的サイトのホスティングサービスやCDNなどを通じて低コストで提供することもできる。
(2023.11.9更新)