JAMstack
JavaScript・APIs・Markupの頭文字をとったWebアーキテクチャ。ビルド時に静的HTMLを生成し、動的機能はAPIで補完することで高速・安全・スケーラブルなWebサイトを実現する。
JAMstackとは?
JAMstackは、JavaScript・APIs・Markupの頭文字をとったWebアーキテクチャのコンセプトです。Netlifyの共同創業者Matt Biilmann氏が2016年に提唱しました。
JAMstackの3要素
| 要素 | 説明 |
|---|---|
| JavaScript | クライアントサイドの動的機能(React・Vue等) |
| APIs | サーバー処理をAPIに委譲(REST・GraphQL等) |
| Markup | ビルド時に事前生成した静的HTML |
従来のWebアーキテクチャとの違い
| 項目 | 従来型(WordPress等) | JAMstack |
|---|---|---|
| HTML生成 | リクエストごとにサーバーで生成 | ビルド時に事前生成 |
| ホスティング | Webサーバー(Apache/NGINX) | CDN(Cloudflare/Vercel等) |
| データベース | 直接接続(脆弱性リスク) | API経由(間接的) |
| スケーリング | サーバーを増強 | CDNが自動対応 |
JAMstackのエコシステム
- ホスティング: Cloudflare Pages・Vercel・Netlify
- SSGフレームワーク: Astro・Next.js・Hugo
- Headless CMS: Contentful・Sanity・microCMS
まとめ
JAMstackはSEO・パフォーマンス・セキュリティを同時に実現する現代的なWebアーキテクチャです。このサイトもAstro+Cloudflare PagesのJAMstack構成で運用しています。
関連する用語 (プログラミング)
全33件を見るC# (シーシャープ)
Microsoft社が開発した、エンタープライズ(企業向け)システムからゲーム開発(Unity)まで広く使われる万能言語。
Webpack(ウェブパック)
JavaScriptアプリの依存関係を解析して複数のファイルを1つ(または少数)のバンドルにまとめるモジュールバンドラー。CSS・画像等も処理でき、フロントエンドビルドツールの長年の標準。
JavaScript (JS)
Webブラウザ上で動きのある表現(アニメーション等)を実現するためのプログラミング言語。
ESLint
JavaScriptとTypeScriptのコードを静的解析し、潜在的なバグや規約違反を検出するリンター。プロジェクト全体で一貫したコードスタイルを強制し、コードレビューの負担を軽減する。
ヘッドレスCMS
表示用フロントエンド(ヘッド)を持たず、コンテンツ管理とAPIによるデータ提供に特化したCMS。Next.js・Astro等の任意のフロントエンドと組み合わせてJAMstack構成を実現する。
Prettier(コードフォーマッター)
コードを自動的に整形するオピニオネイテッドなフォーマッター。JavaScript・TypeScript・CSS・HTML・JSON・Markdownに対応し、チームのコードスタイル論争を終わらせる。