JSX over the Wire

Comparisons to Existing Stacks

  • Many see strong parallels with Inertia.js (Laravel/Rails + React/Vue), HTMX, Hotwire/Turbo, Phoenix LiveView, Fresh, Astro, and Livewire/LiveView-style “HTML over the wire.”
  • Some argue RSC is “PHP/JSF/webforms again,” others see it as the next turn of the spiral: same idea (server-driven UI), but with modern React, streaming, and richer composition.
  • A few note prior art like Facebook’s XHP/Async XHP and KnockoutJS/GraphQL, saying RSC re-explores a well-trodden space with different tradeoffs.

Architecture, REST, and BFF Layer

  • One camp prefers clean JSON APIs and a strict client/server boundary; they see JSX on the server as needless abstraction and tight coupling.
  • Others argue “REST in practice” already degenerates into ad‑hoc view models; RSC + a Backend‑for‑Frontend (BFF) is framed as making that layer explicit and component-shaped.
  • Hypermedia/HATEOAS advocates say the whole mess exists because REST was watered down to “JSON endpoints”; they prefer HTML-as-API (HTMX-style) instead of JSX or JSON UI trees.

Interactivity and Client/Server Split

  • Multiple questions center on how stateful interactions (like buttons, likes, list items) work when part of the UI is server components:
    • Suggested patterns: optimistic updates with client components, selectively re-fetching server trees, or wrapping server components in client “shells.”
    • Critics worry this leads to awkward composition, “use client” as a crutch, and confusion over where event handlers and state should live.
  • Some note RSC doesn’t remove the need for client-side logic; it just moves data-fetching and static parts of the tree.

Complexity, DX, and Article Reception

  • Several commenters find RSC conceptually interesting but see high complexity, especially in Next.js (rendering modes, caching, mental overhead).
  • Others are persuaded by the article’s historical framing and checklist, feeling it’s the clearest justification for RSC so far.
  • Length is contentious: some want a TL;DR; others defend the depth and blame low-quality commentary on people not reading.

Performance, Deployment, and Alternatives

  • Concerns about N+1 data fetching in per-component await patterns; defenders say proper batching/data-loader layers are required regardless.
  • Version skew between client and server during deploys is flagged as a real operational risk; solutions mentioned include skew-protection infra, routing by version, or last-resort reloads.
  • GraphQL appears as an alternative that already lets clients declare data needs; opinions split on whether RSC is redundant, complementary, or a simpler middle ground.
  • Many conclude RSC/“JSX over the wire” is powerful but not universally appropriate; simpler SSR (Django/Rails/HTMX, Inertia) may be better for many apps.