JavaScript-heavy approaches are not compatible with long-term performance goals

Scope: React vs “JavaScript-heavy”

  • Many argue the article is really about React + Redux, not “JavaScript-heavy” approaches in general.
  • Other frameworks (Svelte, Solid, Vue, Qwik) are cited as having much smaller bundles and baseline performance closer to vanilla JS, though people note they can still balloon when paired with UI kits and libraries.

SSR vs CSR and Hydration

  • Strong support for server-side rendering (SSR) for initial paint, especially for ecommerce, informational sites, and “non-sticky” use cases where speed matters more than rich client interactions.
  • Counter-argument: modern client CPUs are fast, network and server latency are slow, so fully client-side apps can feel snappier once loaded.
  • Disagreement over which is “objectively faster”: some focus on time-to-first-paint, others on interaction latency after load.
  • Hydration/“islands” are seen by some as a useful compromise, by others as added complexity that often backfires.

DOM, JS Engines, and Performance

  • One camp blames the DOM’s document-centric design for app slowness and praises DOM-less canvas/WebGPU/WebAssembly architectures (e.g., Figma-like).
  • Others say DOM is rarely the real bottleneck; slow layers (React’s virtual DOM, heavy component logic) and sloppy code dominate.
  • Benchmarks are cited to argue JS engines are quite fast; performance issues are usually in app code, not the language runtime.

State Management and React Complexity

  • Redux is widely criticized as overcomplicated and slow; its historical role before hooks/context is acknowledged.
  • Some see React’s rendering model and memoization (e.g., useMemo) as fragile and hard to tune; others note the new React compiler and recent releases automate much of this.

Bundle Size, Dependencies, and Long-Term Drift

  • Large SPAs with many contributors tend to accrete megabytes of JS via top-level imports, shared contexts, and convenience libraries.
  • This slowly erodes performance and is hard to reverse; per-PR bundle budgets help but don’t fully prevent long-term bloat.

Alternative Approaches and Ecosystem Forces

  • Several commenters advocate SSR-first stacks with light progressive enhancement (vanilla JS, htmx, web components, Astro-like tools).
  • Others recommend Svelte/SvelteKit, Vue, Qwik, or Angular, but there’s debate about their long-term maintainability versus React’s explicit (if heavy) model.
  • React’s dominance is tied to hiring, ecosystem size, SaaS SDKs, and now AI tools being optimized around React examples, even when it’s not technically ideal.