Light Houseでperfomanceを99にした話

March 24th, 2019

tl;dr

gatsbyjsとnetlifyを使いましょうって話。

このブログでやったこと

Webフォントをベースに作っていたんですが、サイトタイトルなどの一部分をのぞいてWebフォント自体やめました。 あとは基本的にNetlifyとGatsby使ってれば↑の点数までいきました。

現状LifeCycleを必要とするpageやcomponent自体なかったので、基本的にすべてFunctional Componentで実装してますが、Domも少ないしメインの処理は40msとかっぽいし特にパフォーマンス的には誤差っぽいですね。

ともかくGatsbyJSが勝手にSSRしてCodeSplitingとかprefetchも勝手にやってくれるからほんとうに大したことはしてないです。

最大の速度対策

画面に機能やコンテンツを入れすぎないこと。 一画面あたりの情報量や機能を一定量以下にして、ある程度増え今度は画面を分割して、、、っていうのが多分Webのあるべきだと個人的には思います。

Webのいいところって「見たい情報だけを見れること」だと思うんですよね。 そういう面でもコンテンツが増えた段階でページを分割していった方が、速度+UX的にも良さそう。 まぁ、このサイトは多分ブログの記事以外は増えないけど。

今後の施策

GatsbyのプラグインでTypescript入れるとcss modulesらへんうまく型ファイルを自動生成できなかった。。。 Typescriptはいずれ本腰入れて対応しようと思うので、次はフォームを作るかworkboxでPWAやろうと思います。