Static as a Server
Understanding React Server Components (RSC)
- Several commenters stress that “server” in RSC doesn’t mean “must run at request time”; it can be used at build time to emit static HTML.
- The article’s point—that a site can use RSC yet be deployed as pure static files—is clarified as: “server” is a programming model, “static” is an output mode.
- Some see RSC as combining strengths of old SSR (PHP/Rails) with modern client frameworks, allowing composition of static, server, and client pieces.
- Others are skeptical, calling RSC another layer of complexity in an already-fatiguing React ecosystem.
DX, Tooling, and Next.js Friction
- Negative reception of RSC is partly attributed to:
- Historically hard to try outside major frameworks.
- Rough developer experience in Next.js: slow builds, confusing errors, monkey‑patched
fetch, and surprising caching.
- Parcel RSC is praised as a clearer, more “obviously scoped” explanation; some want frameworks that more visibly respect web standards and boundaries.
- There’s interest in better, official adapters for platforms like Cloudflare and AWS (e.g., OpenNext, upcoming official adapter work).
Static vs Dynamic, Caching, ISR
- Multiple commenters note that once you accept “static” as just pre-rendered server output, the model looks like:
- Use a server-ish framework.
- Pre-render all or some pages.
- Add caching / incremental regeneration (ISR) where data changes.
- Debate over when full static is enough:
- Some argue many sites never need dynamic content and YAGNI should prevail.
- Others cite use cases like shops, stock levels, headless CMS, and large editorial teams where ISR/SSR meaningfully reduce API load and keep UX snappy.
- Several people observe this isn’t new: pre-rendered WordPress/Movable Type setups did similar things years ago.
Why Use React (or Similar) for Static Sites?
- Pro‑React arguments:
- Single mental model and tooling for static, SSR, CSR, and hybrids.
- Easy code sharing and composition across pages.
- Smooth path to later adding interactive “islands” or fully dynamic sections.
- Alternatives mentioned: Astro, Svelte, Vike, Jekyll, Hugo; many say choice is mostly taste and team familiarity.
Performance, Bloat, and HTML/CSS vs Abstractions
- Strong criticism of shipping large JS/CSS bundles for mostly-text pages; some compute “crap:content ratios” and call it wasteful.
- Counterpoints: most JS on the referenced blog is non‑blocking, optional, and could be removed if desired; fonts and interactive examples are “nice-to-have.”
- Big subthread on whether front-end engineers should deeply know HTML/CSS:
- One side: HTML/CSS are fundamental, React without them is fragile and junior.
- Other side: focus on higher‑level components, Tailwind or similar, and let abstractions hide underlying details; custom HTML/CSS is low-ROI.
- Some argue it’s fine to mostly live inside a component library; others call that career‑limiting and ignorant of UX.
Complexity, Fragmentation, and Architecture Preferences
- Critics of “one tool for everything” highlight:
- Feature subsets and awkward edge cases when a single framework tries to be SPA, SSG, and SSR at once.
- Preference for separate, specialized tools to keep stacks simpler.
- Defenders of hybrid frameworks argue:
- Static export from a server‑capable app is essentially “just crawl the server at build time,” a natural consequence of having SSR.
- The real complexity lies in client rehydration, not in static generation itself.
Lock-in, Ecosystem, and Governance Concerns
- Some dislike the perceived tight coupling of Next.js with its hosting company and fear lock‑in “vibes,” preferring Astro-like positioning.
- There’s broader frustration that React’s direction (hooks, GraphQL, RSC, Next features) feels driven by ecosystem and business incentives, not just developer needs; some claim “React fatigue” now outweighs hype.
- Others remain optimistic that RSC’s ideas will spread into many frameworks once tooling and docs mature, and that better caching models may “come back into fashion.”