ウェブとフロントエンド · 中級
静的サイト、サーバーレンダリング、ブラウザアプリの選択
一行でいうと: コンテンツが固定であるほど、アーキテクチャはシンプルであるべきだ——追加した動的さの各レイヤーは、その後毎日支払いが発生する。
三つのファミリー
静的。事前にビルドされたファイルを配信ネットワークから提供する。速く、安く、落とすのが難しい。企業サイト、ドキュメント、ブログ、ランディングページに適している。
サーバーレンダリング。ページはリクエストごとに構築される。パーソナライズされたコンテンツ、変化する在庫、誰が聞いているかによってコンテンツが変わるすべての場所に適している。
ブラウザアプリ。ブラウザがデータを別々に取得するアプリを実行する。インタラクションが豊富なシステム——ダッシュボード、エディタ、内部ツール——に適している。
トレンドなしに選ぶ
三つの質問をする:コンテンツの何割がすべてのユーザーに同じか、検索エンジンがそれを見ることがどれほど重要か、一ページにどれだけのインタラクションがあるか。ブラウザアプリとして構築された企業サイトは、何も得ずにロード時間と複雑さで支払う。
混ぜることができる:サイトのほとんどを静的に、一つのエリアを動的に。これはパーソナルエリアを持つコンテンツシステムへの正しい答えであることが多い。
メンテナンスで何が変わるか
静的サイトはめったに自分では壊れない。サーバーを持つアプリは監視、セキュリティアップデート、環境、負荷処理が必要だ。一年間の運用コストの差は、初期開発の差よりずっと大きい。
さらに深く
混在するシステムでは、事前にビルドされたコンテンツとランタイムに取得されるデータを明確に分け、それぞれに独自のキャッシュポリシーを与える。本番での「古いデータ」の問題のほとんどは、一つのポリシーなしに積み重なったキャッシュレイヤーから来る。