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
120
注目のアーキテクチャ、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
47
Featured
See All Featured
Why Our Code Smells
bkeepers
PRO
331
56k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
323
20k
Building Applications with DynamoDB
mza
88
5.7k
Building Your Own Lightsaber
phodgson
100
5.7k
Gamification - CAS2011
davidbonilla
77
4.6k
Agile that works and the tools we love
rasmusluckow
325
20k
[RailsConf 2023] Rails as a piece of cake
palkan
28
4k
Being A Developer After 40
akosma
67
580k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
82
44k
Visualization
eitanlees
137
14k
The Illustrated Children's Guide to Kubernetes
chrisshort
32
47k
Writing Fast Ruby
sferik
622
60k
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ブログを作ってみよう
ご静聴ありがとうございました!