mottox2 blog

Next.jsのStatic Generationを追う際に参考にしたページ

dev

Next.jsのStatic Generationを追っておく際に見たページをまとめた。簡単に要点をまとめてはいるが、詳しくはリンク先のオリジナルを見てほしい。

2019 in Review

  • Guillermo Rauch(@rauchg) ... Vercel社(元ZEIT)のCEO のブログ記事
  • 2019年はJamstackが伸びた年であること
  • Staticは高速で安定性が高い
  • SSGやClient JS/APIでdynamicを実現できること
  • Next.jsはJamstackの機能を網羅している
    • Static GenerationとかAPI RoutesとかDynamic Routing
  • Vercelを使えば便利だよと等々

Static Generation / SSG Improvements

  • ページ単位でSSG(静的生成)とSSRを出し分けられるようにする。
  • Next.js 9になってデータを必要としないページはhtmlとして出力されていた。(いわゆるAutomatic Static Optimization)
  • データを必要とする場合は既存のexportを使うことでStaticにできたが、すべてのページが静的になってSSRが使えない。
  • また、getInitialPropsではクライアントでの遷移時にデータを取得する必要がありDBやCMSへのアクセスが発生していた。
  • これらを解決するためにgetStaticProps、getStaticPropsを導入し、静的なデータを扱えるようにした。
  • (サーバーサイドで実行されるgetServerSidePropsも追加された)

RFC: Incremental Static Regeneration

  • 上記のStatic Generationが実装され、高速に低コストでウェブサイトを配信できるようになった。
  • 欠点として、静的に生成されたページのデータ更新された場合、完全な再ビルドが必要だった。
  • このリビルドを避けて、オンデマンドで新しいページを生成するのがIncremental Static Regeneration
  • 各ページにtimeoutを設定し、有効期限が切れると再レンダリングが走る。
  • Staticにツイートを表示するデモ https://static-tweet.now.sh/

Static Hoisting

  • Vercel社(元ZEIT) Guillermo Rauch氏のブログ記事
  • Hoisting(変数の巻き上げ)の説明し、Jamstackは計算結果を訪問者に巻き上げるものだと言っている。
  • CDNとJamstackの比較。JamstackはすべてのEdge Serverで共有される。
  • Next.jsはページ単位にアセットを生成するので静的な部分を巻き上げやすい構成になっている。
    • Dashboardのような一見動的な画面もClient JSでやるからデータの問い合わせをする静的ページ。
B!
poem

欲しいものリスト(2020年版)

欲しいものはAmazonに売ってないので、独自にリストを作ることにしました。 - いい感じの動画を作るセンス 今年に入ってAfter Effectsを使ったアニメーションを作ったりしています。Tw

dev

jsx-presentationを使ってJSXでpptxファイルを生成する

週末にpptxファイルが生成できるスライド作成ツールのプロトタイプを作りました。 スライドエディタで作成したスライドをPowerPoint形式で出力できるようにした。 まだまだサイズやアスペクト

dev

Reactで寿司を回すタイピングゲームを作った

@dala00さんが企画している、1週間でテーマに沿ったWebサービスを作る #web1weekという企画に参加しました。今回は第二回の開催で「Like」というお題でした。 esaをより便利に使う

Copyright © 2019 @mottox2 All Rights Reserved.