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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
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
150
Featured
See All Featured
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
96
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
110
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2k
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
160
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
7.9k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.2k
Color Theory Basics | Prateek | Gurzu
gurzu
0
200
Technical Leadership for Architectural Decision Making
baasie
1
240
What does AI have to do with Human Rights?
axbom
PRO
0
2k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.7k
Testing 201, or: Great Expectations
jmmastey
46
8k
4 Signs Your Business is Dying
shpigford
187
22k
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ブログを作ってみよう
ご静聴ありがとうございました!