React vs. Backbone in 2025
Toy Example and Validity of the Comparison
- Many feel the article’s password-strength demo is too trivial; vanilla JS or jQuery would suffice, so it doesn’t illuminate real tradeoffs.
- Critics argue it compares modern Backbone to modern React and then concludes “not much has changed in 15 years,” which they see as misleading.
- Several point out that the Backbone snippet doesn’t even showcase its core strengths (models, collections) and duplicates markup, making it artificially weak.
Backbone at Scale vs React at Scale
- Multiple commenters with experience on large Backbone apps describe them as hard to navigate, fragile, and prone to event spaghetti, memory leaks, and cascading state updates.
- Backbone is seen more as a low-level utility layer that requires teams to invent their own architecture; without strong discipline, projects devolve quickly.
- React is praised for making composition, state propagation, and refactoring large apps more predictable and approachable, including for new hires.
React’s Strengths: State, Unidirectional Flow, DOM Handling
- Key wins cited: not manually touching the DOM, “view = function of state,” and unidirectional data flow (inspired by Flux/Redux) that avoids two-way binding loops Backbone apps often hit.
- Virtual DOM diffing, batching, and reconciled updates are seen as major practical improvements over ad-hoc jQuery/Backbone DOM manipulation.
React’s Complexity and “Magic”
- Others argue React merely trades one complexity for another: hooks semantics, stale closures, useEffect dependency pitfalls, and key-related bugs feel like framework-specific traps.
- Some prefer Backbone’s explicit event handlers and DOM manipulation, claiming problems are easier to trace because less is hidden behind abstractions.
- There’s consensus that many React footguns arise once projects move beyond basic components.
When Do You Need a Framework?
- Several insist small widgets or mostly-static sites should use server-rendered HTML plus minimal JS (htmx, HTMZ, Web Components, or plain DOM APIs).
- Others counter that small apps often grow, so starting with React (or similar) avoids rewrites and unifies the stack.
Performance, UX, and Native Behavior
- A subthread compares undo behavior in controlled inputs: React preserves native semantics better than the Backbone example, which undoes character-by-character.
- There’s recurring concern about shipping large JS bundles for simple pages, though others argue caching and app-like usage reduce the impact.
Ecosystem, Hiring, LLMs, and Alternatives
- React’s dominance is attributed to ecosystem maturity, hiring ease, and now LLM support; some call it the “enterprise default” rather than the most elegant option.
- Alternatives mentioned: Vue, Svelte, Solid, Preact, Mithril, Elm, Imba, Crank, LiveView-like systems, and Web Components-based approaches.
- Several say these newer tools fix specific React pain points, but none yet surpass its overall “safe choice” status for complex, evolving apps.