フロントエンド技術選定

🎯 目的別の技術選定

| 要件                    | 向いている技術                | 解説                            |
| --------------------- | ---------------------- | ----------------------------- |
| 初期表示が速く、SEOを強くしたい     | SSR / SSG              | HTMLをあらかじめ生成しておくか、リクエスト時に生成する |
| コストを抑えて高速に配信したい       | SSG                    | 静的ファイルのみで運用可能。サーバ不要           |
| 状態の変化が多く、動的なUIが必要     | CSR                    | クライアント上でJSが制御するSPA            |
| チャットなどリアルタイム通信が必要     | CSR + API or WebSocket | サーバと常に通信。SSRは不要               |
| SEOは気にしないが、軽いUIで構築したい | CSR                    | 初期ロード後、すべてJSで制御               |


### 🔁 各技術の特徴比較表


| 技術                           | HTML生成場所       | 実行環境             | SEO      | リアルタイム対応         | 特徴                 |
| ---------------------------- | -------------- | ---------------- | -------- | ---------------- | ------------------ |
| CSR(Client Side Rendering)   | クライアント(ブラウザ)   | 静的サーバでOK         | 弱い(対策必要) | API/WebSocketで対応 | 動的UIが得意。初期表示遅め     |
| SSR(Server Side Rendering)   | サーバ(Node.jsなど) | Webサーバ必須         | 強い       | 対応可(API経由)       | 初回表示速い、SEO強い       |
| SSG(Static Site Generation)  | ビルド時に生成        | 静的サーバでOK         | 強い       | 難しい(APIで補完)      | 高速&低コスト。頻繁更新に弱い    |
| SPA(Single Page Application) | クライアント         | 静的サーバでOK         | 弱い       | 対応可              | CSRベース。柔軟性高い       |
| リアルタイム通信(WebSocketなど)        | サーバー常時接続       | Webサーバ or 専用サービス | 不問       | 必須               | SSRなしでも実現可(CSRでOK) |
ブログ一覧に戻る