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
SSRを避けるためにやっていること / ssr-alternative
Search
mottox2
December 09, 2019
Programming
3.3k
9
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
SSRを避けるためにやっていること / ssr-alternative
Ginza.js #7の発表資料です
mottox2
December 09, 2019
More Decks by mottox2
See All by mottox2
つくり方を変えていく | change-how-we-build
mottox2
2
1.3k
もう一歩進めたい OG画像の動的生成
mottox2
7
2.7k
なぜコピペで使うコンポーネント集を利用するのか?
mottox2
8
7.6k
UIコンポーネントライブラリをうまく使うためにできること / components-with-designer
mottox2
7
4k
Figma Plugin公開までの壁を乗り越える
mottox2
3
4.1k
Puppeteerでつくる画像と動画 / images and videos made with puppeteer
mottox2
0
780
手触りのよいウェブを考える / better-mobile-web
mottox2
3
2k
組織と権限とSlack App / slack-app-with-roles
mottox2
1
730
JSXでつくる宣言的UIなプレゼンテーション / jsx-presentation
mottox2
7
34k
Other Decks in Programming
See All in Programming
Dataformのリポジトリを立ち上げるときにまずやること / dataform-day0-2026
snhryt
0
200
PHPで使える日時の表現と、その知り方 #frontend_phpcon_do
o0h
PRO
0
280
TAKTでAI駆動開発の品質を設計する
j5ik2o
7
1.6k
Lessons from Spec-Driven Development
simas
PRO
0
240
symfony/aiとlaravel/boost
77web
0
110
気圧・高度・GPSを記録&可視化するアプリ「Koudo」を作った話
hjmkth
1
330
TypeScript+Orvalで実現する型安全かつ堅牢でスケーラブルなマルチチャネル通知基盤 / TSKaigi Night talks ~after conference~
d0riven
0
380
Contextとはなにか
chiroruxx
1
390
Hunting Vulnerabilities in Symfony with LLMs
vinceamstoutz
0
570
The NotImplementedError Problem in Ruby
koic
1
1k
正しくソフトウェアを作る、前提を疑うための認知の視点 / doubt-premise
minodriven
21
7.2k
IBM Bobを活用したレガシーアプリの最新化
oniak3ibm
PRO
1
230
Featured
See All Featured
For a Future-Friendly Web
brad_frost
183
10k
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
760
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
1
3.6k
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
KATA
mclloyd
PRO
35
15k
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
270
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
2.9k
Optimizing for Happiness
mojombo
378
71k
VelocityConf: Rendering Performance Case Studies
addyosmani
333
25k
Producing Creativity
orderedlist
PRO
348
40k
GraphQLとの向き合い方2022年版
quramy
50
15k
Rebuilding a faster, lazier Slack
samanthasiow
85
9.5k
Transcript
None
Gatsby, Gridsome, Next.js, etc … JSX pptx お仕事 Watching mottox2
@ ؿٔ٦ٓٝأ8FCؒٝآص، ⾃⼰紹介 ひとこと
#ginzajs
#ginzajs 最近のお気もち SSRやりたくない ‣ ‣ Hosting Function ⾒ ‣ TTFB
‣ ‣ ‣
#ginzajs SSR/SPA ‣ SSR SPA hydration ‣ Next.js Nuxt.js
#ginzajs そもそもなぜSSR/SPAだったのか? ‣ SSR Consumer ‣ ‣ SPA ‣ DX
‣ SEO SNS ‣ SSR ‣ SPA ‣ SSR
#ginzajs SPA+SSRは開発者体験‧開発速度に寄与するか? ‣ SSR ‣ DX SPA SSR ‣ Laravel
Rails ‣ pjax Rails Turbolinks DXが良い DXが悪い SPAによるDX SSRによるDX 全体としてDXはよくなっているのか?
#ginzajs じゃあ、どうするか? ‣ SSR DX ‣ SSR ‣
#ginzajs 解決するべき課題 1 . SEO 2 . SNS OGP 3
. Lambda@Edge Prerendering Google
#ginzajs なぜ表⽰速度? ‣ ‣ index.html ‣ JS <!doctype html> <html
lang="en"> <head> <meta charset="utf-8" /> <link rel="icon" href="/favicon.ico" /> <meta name="viewport" content="width=device-widt <meta name="theme-color" content="#000000" /> <meta name="description" content="Web site creat <link rel="apple-touch-icon" href="/logo192.png" <link rel="manifest" href="/manifest.json" /> <title>React App</title> <link href="/static/css/main.d1b05096.chunk.css" </head> <body><noscript>You need to enable JavaScript to r <div id="root"></div> <script><!— !! —></script> <script src="/static/js/2.6c6eb89e.chunk.js"></s <script src="/static/js/main.e41c5136.chunk.js"> </body> </html> SPA HTML表⽰後 JS実⾏後
#ginzajs なぜ表⽰速度? ‣ Twitter ‣ ‣ B ‣ ‣ ‣
2 ‣ C ‣ ServiceWorker 2 ‣ ‣ SSR
#ginzajs 改善の⽅針 1 . JS Code Splitting 2 .
#ginzajs バンドルサイズの削減 1 ‣ SPA JS jQuery ‣ JS ‣
‣ CodeSplitting ‣ Next.js Nuxt.js JS ‣ Lighthouse ‣
#ginzajs HTMLのプリレンダリング 2 ‣ Lighthouse PageSpeed Insight ‣ HTML ‣
JS HTML
#ginzajs HTMLのプリレンダリング 2 ‣ SPA HTML ‣ react-snapshot create-react-app ‣
Static HTML export Next.js ‣ Gatsby
#ginzajs HTMLのプリレンダリング - 戦略 2 ‣ ‣ `/posts` `/posts/:id` ‣
#ginzajs HTMLのプリレンダリング - 応⽤ 2 ‣ Skeleton ‣ ‣
#ginzajs ありそうな質問 ‣ ‣ Next.js (without SSR) ‣ CDN Lighthouse
Performance 90 ‣ SEO ‣ ‣
#ginzajs ありそうな質問 ‣ ‣ Next.js (without SSR) ‣ CDN Lighthouse
Performance 90 ‣ SEO ‣ ‣
#ginzajs まとめ ‣ SSR ‣ SSR
#ginzajs フレームワークに乗りたい ‣ Next.js Nuxt.js ‣ ‣ ‣ SSR ‣
‣ webpack.con fi g.js ‣ ‣ Appendix
#ginzajs Next.jsの最適化に注⽬ ‣ ‣ Next.js Chrome ‣ ‣ async/await Poly
fi ll ‣ Code Splitting ‣ ⾒ commons chunk ‣ Static HTML Export話 Appendix
Thank you! 201 9 . 1 2 . 9 Ginza.js
# 7 / @mottox 2