System Design Space
Knowledge graphSettings

Updated: April 1, 2026 at 9:00 AM

Frontend rendering models: SPA, SSR, SSG, streaming, and hydration

medium

How to choose a rendering strategy for SEO, latency, edge caching, and product constraints: SPA, SSR, SSG, streaming, islands, and hydration trade-offs.

Choosing between SPA, SSR, SSG, streaming, and hybrid rendering is rarely a purely technical decision. It is really a decision about where you pay for first-screen speed, how you handle SEO, how complex the deployment contour becomes, and who owns hydration failures in production.

The chapter is useful because it turns rendering debates into measurable trade-offs: TTFB, LCP, HTML cacheability, the cost of personalization, and the complexity of diagnosis. That shifts the conversation from framework ideology back to architecture for a specific product.

For interviews and reviews, this is important because rendering strategy is where frontend, edge, CDN, backend composition, and browser-runtime limits all meet in one decision point.

Practical value of this chapter

Design in practice

Turn guidance on choosing rendering models and the trade-offs between SEO, latency, and operational complexity into concrete decisions for composition, ownership, and client-runtime behavior.

Decision quality

Evaluate architecture through measurable outcomes: delivery speed, UI stability, observability, change cost, and operating risk.

Interview articulation

Structure answers as problem -> constraints -> architecture -> trade-offs -> migration path with explicit frontend reasoning.

Trade-off framing

Make trade-offs explicit around choosing rendering models and the trade-offs between SEO, latency, and operational complexity: team scale, technical debt, performance budget, and long-term maintainability.

Context

Frontend platform performance

Rendering strategy affects perceived performance earlier than most local UI optimizations do.

Читать обзор

Rendering strategy defines where the first useful pixel appears: on the server, at the edge, or only after the client runtime finishes loading. That means SPA, SSR, and hybrid modes are really discussions about latency budgets, SEO, and platform operating cost.

The right question is not “which mode is best”, but “which route classes justify which trade-offs”.

Main rendering models

SPA

Minimal server complexity with a flexible client runtime.

Use when

Internal products, rich interactions, auth-first flows, and scenarios where SEO is not the main driver.

Cost

Teams must fight separately for first render, bundle size, and state restoration after refresh.

SSR / streaming SSR

Improves control over first paint and initial HTML for search engines and share previews.

Use when

Marketplaces, content-heavy pages, mixed public/private routes, and products where SEO and fast first view matter.

Cost

Server runtime, cache invalidation, hydration debugging, and personalization all become more complex.

SSG / ISR-style revalidation

Makes the best use of CDN delivery and scales cheaply for mostly-static content.

Use when

Documentation, knowledge bases, marketing pages, and catalog pages with predictable content update frequency.

Cost

Freshness policy and fine-grained personalization become harder without extra server contours.

Hybrid / islands / partial hydration

Tries to deliver HTML quickly while hydrating only interactive zones.

Use when

Content-heavy pages with a few interactive blocks and strict performance budgets.

Cost

Raises the complexity of the mental model, tooling, and diagnosis of client/server boundary issues.

Decision signals

  • How much a page must work anonymously before login and before the heavy client runtime is loaded.
  • Whether there is SEO/social-preview pressure and how often the content truly changes.
  • Whether HTML can be cached at the edge or the response contains too much personalization.
  • Whether the team is ready to support server runtime, hydration diagnostics, and hybrid routing.

Related

Content Delivery Network (CDN)

HTML cache behavior, stale-while-revalidate, and invalidation paths often define the real cost of SSR and SSG more than the framework itself.

Open chapter

Architecture rules

Rendering strategy is chosen per route class, not for the whole product

Public landing pages, search, checkout, and authenticated dashboards usually live under different constraints. One global rendering mode is rarely optimal for every route.

Hydration is its own operational risk

Mismatch between server HTML and the client tree often appears only in production conditions: timezone, locale, feature flags, AB tests, and late-arriving data.

Personalization breaks cheap HTML caching first

The earlier user-specific widgets appear in the response, the harder it becomes to use CDN caching efficiently. Sometimes it is better to ship a generic shell and fill personalization after paint.

Edge and CDN are part of rendering architecture

TTFB, cache-key design, prefetch policy, and invalidation paths need to be discussed together with frontend rendering strategy, not after the framework has been chosen.

Practical takeaway

In mature products, rendering is usually hybrid: public routes are optimized for SEO and edge caching, while heavy authenticated flows are designed around client runtime, route-level prefetch, and controlled hydration complexity.

Related chapters

Enable tracking in Settings