ユーザージェネレーテッドかどうか
YES → SSR
NO
↓
ページ数が多くそれぞれのページのSEOを気にするか
YES → SSG
NO
↓
SPA
動作が早いがデプロイ環境がnode.jsサーバーがホスティングされている必要がある。firebase hostingを利用すれば無料で環境を構築できなくもないがやや面倒。私はロリポップマネージドクラウドを利用している。
ユーザージェネレーテッドなWebアプリをJAMStack構成でやる場合、ページ数合計100ページくらいだと、Github Actionの無料枠2000分のビルドから逆算すると多くても150回程度しかCIを回せない。
そんなにページ数がない、そんなにCIを回さないのであれば可能だが、ユーザー投稿後ページとして出来上がるまでのダウンタイムはやはり無視できない
基本はSSG+github actionでJAMStack構成でやっていきたい。SSGであればhosting先はgithub pagesでもいいので、ドメインさえ気にしなければ無料でできてしまう
SSGを諦める理由としては、上記ユーザージェネレーテッドコンテンツの存在が大きい。
投稿者がコントロール可能なWebメディアなんかはJAMStackが最適だと思う。出力された静的ファイルをCDNでホストすれば爆速になると思う。
ただ課題もあって、1000件をこすようなコンテンツ量であればCIのコストがかかるだろうし、都度デプロイで静的サイトを足していく方法では、CIによっては過去ビルドはリフレッシュされてしまう使用のものも少なくないので気をつけたい。またJAMStackの特性として特定時間に公開といった処理は難しいのでそういった用途では選択を避けたい
これは正直選びどころがわからない。サーバーで動作させたくないライブラリを利用している場合(そんなときSSGでもprocess.clientで絞ればいいが。。。)とかはSPAにしとくと楽かもしれない。
やったことはないが、限られたページかつ、流入がトップからがほとんどなネイティブアプリに近いような作りで、PWAやelectronでネイティブで動作するようにし、ばらまく前提で作っているようなアプリはSPAで開発してPWAでストアにアップすることがおすすめかも知れない。
microCMSにプリセットで入っているimgixを利用してお手軽に動的OGPを設定する
2021年9月6日(月) 14時33分9秒 | 226 viewmarkdownエディタ「Tale」をリリースしました。
2023年12月4日(月) 15時24分57秒 | 132 viewnovelで書いたmarkdownを保存できるようにする
2023年11月28日(火) 16時48分34秒 | 124 viewThunderbirdのトップに格言を表示してメーラーを開くたびにテンションが上がるようにした
2022年6月7日(火) 7時50分49秒 | 83 viewbacknumberを実装した
2020年10月21日(水) 9時34分34秒 | 32 view