Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
注目のアーキテクチャ、JAMstackってなんだろう? / What-is-JAMstack
Search
Co9xs
March 24, 2021
1
150
注目のアーキテクチャ、JAMstackってなんだろう? / What-is-JAMstack
はじめてのIT勉強会 in 仙台(2021.03.24)
学生LTの発表資料です。
JAMstackアーキテクチャの概要や仕組みについて解説しました。
Co9xs
March 24, 2021
Tweet
Share
More Decks by Co9xs
See All by Co9xs
ABEMA における CriticalCSS の活用例
co9xs
0
130
Featured
See All Featured
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.4k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
970
GitHub's CSS Performance
jonrohan
1032
470k
The Cost Of JavaScript in 2023
addyosmani
54
9k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
The Power of CSS Pseudo Elements
geoffreycrofte
79
6k
Principles of Awesome APIs and How to Build Them.
keavy
127
17k
Optimising Largest Contentful Paint
csswizardry
37
3.4k
jQuery: Nuts, Bolts and Bling
dougneiner
65
7.9k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
127
53k
Context Engineering - Making Every Token Count
addyosmani
5
230
RailsConf 2023
tenderlove
30
1.2k
Transcript
注目のアーキテクチャ JAMstackってなんだろう? はじめてのIT勉強会(2021/3/24) by @Co9xsR
自己紹介 LPなどの制作からWebアプリ開発までいろいろやってます。 好きな言語:JavaScript, TypeScript, React, etc... 所属:東北大学 経済学部3年 しま /
Ryo Fujishima Web Frontend Engineer
突然ですが、JavaScriptは好きですか?
JAMstack is 何? JAMstackのJAMはJavaScript, API, Markupの略称。 Webサイトにおいて、JavaScriptを使ってAPIにアクセスし、 JSONを元に生成された静的なMarkupファイル (HTML,CSS,JS等)だけを配信するアーキテクチャ。 簡単にいうと、「動的なコンテンツを含むサイトを静的サイトと
して配信する仕組み」のことです。
なるほど、分からん...??
動的コンテンツを 静的に配信ってどういうこと?
WordPressの場合 ①ユーザーがアクセス ②DBに記事データを要求 ③DBから取得した情報を もとに静的ファイルを構築 ④静的ファイルを返却ブ ラウザで閲覧 閲覧者 データベース WordPressが入ったサーバー
ユーザーにWordPressサイトが表示される仕組み つまり、リクエストがあるたびにPHPが動いてDBへのアクセスやHTMLの構 築を行っている
JAMstackの場合 ①ユーザーがアクセス ②静的ファイルを返却 ブラウザで閲覧 閲覧者 ホスティングサーバー ユーザーにJAMstackなサイトが表示される仕組み リクエストがあると、静的ファイルを返却するだけ
これだけ? じゃあ記事のデータは どこから持ってくるのだろう?
JAMstackのデータの動き ①ユーザーがアクセス ②静的ファイルが返却 ブラウザで閲覧 閲覧者 ホスティングサーバー ①JavaScriptでアクセス ④JSONを返却 ②DBに記事データを要求 ③記事データを返却
APIサーバー データベース ⑥静的ファイルをデプロイ ⑤JSONをもとに静的ファ イルを構築 SSG対応フレームワーク
JAMstackのデータの動き ①ユーザーがアクセス ②静的ファイルが返却 ブラウザで閲覧 閲覧者 ホスティングサーバー ①JavaScriptでアクセス ④JSONを返却 ②DBに記事データを要求 ③記事データを返却
APIサーバー データベース ⑥静的ファイルをデプロイ SSG対応フレームワーク ⑤JSONをもとに静的ファ イルを構築 事前のビルド時に行われる
で、JAMstackにすると 何が嬉しいのか?
JAMstackのメリット - 表示が早い(高パフォーマンス) - 料金が安い - 開発体験が良い
メリット1 - 表示が早い WordPressで作ったブログ https://shimablogs.com/ JAMstackな技術で作ったブログ https://fujishima.dev/blog 静的ファイルを返却しているだけなのでとにかく表示が早い!
メリット2 - 料金が安い WordPressサイトの場合 - サーバー代 約1,500円/月 - ドメイン代 約1,000円/年 JAMstackなサイトの場合 -
サーバー代 無料!※ - ドメイン代 約1,000円/年 ※静的サイトのホスティングは、個人利用の範囲なら無料のサービスも多い 例) Vercel, Netlify
メリット3 - 開発体験が良い - 記事などの動的コンテンツはAPIから取ってくるので、フロ ント側は自由にカスタマイズできる。 - 静的なLPの一部分だけブログのような更新可能なコンテ ンツにしたりも可能 -
技術スタックも柔軟なので、モダンな技術の練習にも最適
JAMstackなサイト構築に必要なもの ①ヘッドレスCMS 記事の入稿に使うエディターと記事データのAPIを提供してくれる。記事を表示 する機能は提供しないので、ヘッドレスと呼ばれる。 例)Contentful, microCMS ②SSG(Static Site Generation)対応のフレームワーク APIからとってきたデータから静的ファイルを生成してくれるフレームワーク
例)Next, Nuxt, Gatsby ③ホスティングサーバー 生成済みの静的ファイルを公開するためのサービス 例)Netlify, Vercel, FirebaseHosting
まとめ - JAMstackは早い、安い、楽しい! - 既存のサービスを組み合わせることで比較的簡単に構築できる - WordPressとは適材適所な印象
参考 - https://jamstack.org/ - Jamstackって何なの?何がいいの? - Qiita - microCMS +
Next.jsでJamstackブログを作ってみよう
ご静聴ありがとうございました!