Jamstackとはなんなのか?

SHARE
はじめに
どうも!ちょっと株式会社のしまむーです!
弊社では現在、HPの構築やWebアプリケーションの構築の際にJamstackアーキテクチャでの制作をお勧めしているのですが、Jamstack自体がなんなのかについて弊社サイトで詳しく触れているページがありませんでしたので今回ブログにて簡単にご説明したいと思います。
Jamstackって?
Web制作業界などではJamstackという言葉を聞くようになって久しいと思います。
そもそもJamstackってなんなのでしょうか。JamstackのJamはJavaScript/APIs/Markupの頭文字です。
- JavaScript+API:動的データコンテンツの取り扱い
- リクエスト/レスポンスサイクル中の動的プログラムの制御(JavaScript)
- すべてのサーバーサイドの処理やデータベースへのリクエスト(API)
- Markup:静的データコンテンツの取り扱い
- デプロイ時にビルドされるテンプレート化されたマークアップ
つまりあらかじめAPIを利用してデータを取得し、ページ内容を静的なHTMLとして出力しておくことで即座にレスポンスを返し表示させることが可能となります。その結果として、より速く、安全で低コストなWebサイトの構築が可能となっています。SEOにページの応答速度なども重要視されていますのでSEO面から見てもメリットの多いアーキテクチャとなっています。
なぜ今 Jamstack が注目されているのか?
Jamstack が注目されている理由には、既存の技術の利用に伴う「課題」があります。 これまでウェブサイトを構築・運用するときの代表的な方法は以下の 2 つが主でした。
- 静的サイト
- CMSを利用したサイト
上記のような構築・運用方法には以下にあげるような課題がありました。
- インタラクティブ性
- セキュリティ
- パフォーマンス
- スケーラビリティ
- UI / UX
- DX (技術者にとっての快適さ)
- 運用効率
- コスト
例えば今までの静的サイトでは、セキュリティやパフォーマンスは非常に優れていますが、動的な機能は諦める必要がありました。 また、サイトの規模が大きくなると更新の手間やコストが増えていくという問題もありました。 今日ではコーポレートサイトなどにしても、ブログページや検索機能など動的な機能はあって当たり前なので、純粋な静的サイトを利用できる場面は限定されていました。
CMS を使うと、動的な機能が手軽に利用でき運用時の作業効率も高くなります。 しかし、サーバー上でプログラムが走っているという仕組み上、セキュリティやパフォーマンス、技術者の開発体験が悪いなどの問題もありました。
どちらも一長一短で、すべてを満たすような完璧な答えはありません。 そこでこれまでは、インタラクティブ性を優先する場合はセキュリティやパフォーマンスを我慢し、セキュリティやパフォーマンスを優先する場合は運用効率を我慢する必要がありました。
JamstackはそんなWebサイトの運用・制作に新たな解決策をもたらしてくれました。 Jamstack を使えば、セキュリティ・パフォーマンス・コスト等の面で優れていて、なおかつ、技術者にとっての使い勝手や開発体験の良いサイト。つまり既存の手法の良いとこどりをしたようなサイトを実現することができます。
ということで、 Jamstack は今までの代表的なサイト制作・運用の手法である「静的サイト」「 CMS 」に不満を持っている全ての人たちに新たな選択肢を与えてくれたということで今注目を集めています。
W3Techs の CMS のシェアなどを見ていると、Jamstackのための静的サイトジェネレーターである Gatsby の利用数は他に例が無いほどの急速な伸びをしているようです。今後数年のうちにJamstackが主流になっていくかもしれません。是非とも今後サイトリニューアルなどの機会がある際はJamstackでのサイト構築も検討されてみてはいかがでしょうか。