Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
注目のアーキテクチャ、JAMstackってなんだろう? / What-is-JAMstack
Search
Co9xs
March 24, 2021
170
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
注目のアーキテクチャ、JAMstackってなんだろう? / What-is-JAMstack
はじめてのIT勉強会 in 仙台(2021.03.24)
学生LTの発表資料です。
JAMstackアーキテクチャの概要や仕組みについて解説しました。
Co9xs
March 24, 2021
More Decks by Co9xs
See All by Co9xs
ABEMA における CriticalCSS の活用例
co9xs
0
210
Featured
See All Featured
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.7k
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
270
Why Our Code Smells
bkeepers
PRO
340
58k
KATA
mclloyd
PRO
35
16k
Fantastic passwords and where to find them - at NoRuKo
philnash
53
4k
The Language of Interfaces
destraynor
162
27k
The World Runs on Bad Software
bkeepers
PRO
72
12k
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.4k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
The Invisible Side of Design
smashingmag
301
52k
Code Review Best Practice
trishagee
74
20k
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
420
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ブログを作ってみよう
ご静聴ありがとうございました!