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件を見るIT用語: ソフトウェアテストの種類|単体・結合・E2Eテストの違い
ユニットテスト・結合テスト・E2Eテストの役割とテストピラミッドの考え方を解説。
IT用語: デザインパターンとは|GoFの23パターンと代表例
ソフトウェア設計でよく直面する問題への定番解決策「デザインパターン」の概念とシングルトン・ファクトリー等の代表パターンを解説。
Jest(ジェスト)
MetaがReact向けに開発したJavaScript/TypeScriptのテストフレームワーク。ゼロ設定で動作・スナップショットテスト・モック機能を標準搭載し、フロントエンドテストのデファクトスタンダード。
モノレポ(Monorepo)
複数のプロジェクトやパッケージを1つのGitリポジトリで管理する手法。コードの共有・一貫したCI/CD・依存関係の統一が容易になる。Turborepo・Nx・Yarnワークスペースで実装される。
ESLint
JavaScriptとTypeScriptのコードを静的解析し、潜在的なバグや規約違反を検出するリンター。プロジェクト全体で一貫したコードスタイルを強制し、コードレビューの負担を軽減する。
JavaScript (JS)
Webブラウザ上で動きのある表現(アニメーション等)を実現するためのプログラミング言語。