動的 Web サイトを 2 つのタイプに分類します。
最初のものは、例えば PHP を使用し、PHP に HTML ページを連結させ、クライアントにプッシュバックします。
2 つ目は HTML テンプレートを使用し、すべての Web インターフェイスは JSON データのみを提供し、HTML ページが読み込まれるとすべてのフィールドを動的にフィードします。
前者のタイプのウェブサイトの利点は何ですか? キャッシングはどうですか?
PHP ベースのサイトは、簡単に作成でき、キャッシュしやすく、インデックスも適切に作成されますが、リッチではありません。
Ajax ベースのサイトはより動的であり、更新が必要なものを更新するために多くの小さなデータを非同期に受け取る可能性があるため、よくできていればより速く感じられます。彼らが成長するとき、彼らはコーダーからより多くの規律と能力を必要とします. それらを作る鍵は、基盤となる技術を本当に理解することです。
これらのカテゴリに、サーバーが PHP のような純粋なパッシブ テクノロジではなく、バックグラウンド スレッドと複雑な計算をサポートするケース (私が使用するもの) を追加します。これらのサイトには、たとえば Java または Go を使用できます。Websocket を使用してサーバーからクライアントにデータをプッシュする ajax ベースのサイトではさらに便利です。
LAMP とは対照的に、Ajax アプリケーションは、実装する必要がある 1 つのフレーバーではありません。正確なニーズに応じてツールを選択する必要があります (たとえば、縮小化、ストレージなど)。クライアント側では、Ajax ベースのサイトは「生の」技術 (html+js) で作成できます。私は個人的にはそうしません。大きなフレームワークを使用するのは好きではありませんが、jquery がコードをよりクリーンにするのに役立つことがわかります。
適切なテンプレートを使用しない動的 html はスパゲッティ コードの混乱につながる可能性があるため、要件が小さい場合は前者の種類の Web サイトの方が便利だと思いますが、プロトタイピング フェーズでは確かにより機敏であり、JS は必要なく、プラグインのみが必要です。ウェブサーバー上。
とはいえ、Ajax (および一般的な RIA サイト) はより動的であり、企業の Web 開発において優位に立つことは間違いありません。多くの場合、より多くのフレームワークと依存関係があるため、開始するのはより困難ですが、長期的には、共通の形式 (JSON) や標準ライブラリなどを使用すると、メンテナンスと機能の成長の点で真の利点が得られます。
キャッシングについては、たとえば、JSON 構造を使用してサーバーへのリクエストを実装したり、キー値キャッシュを使用して既に生成された HTML ファイルを取得したりできるため、リッチ動的サイトを明確な方法で整理すると、キャッシングも改善できると思います。