The Great JavaScript Framework Lie: Why You Probably Don't Need React

Vladimir Elchinov
01 August, 2025 21:57
You've been sold a lie. A big, complicated, expensive lie wrapped in JSX syntax and delivered through a firehose of npm packages. The lie goes like this: "You need a JavaScript framework to build modern web applications." More specifically: "You need React."
Bullshit.

The Emperor's New Framework

Let me tell you a story. In 2013, Facebook released React to solve their specific problems with building a complex social media platform. Fair enough. But then something strange happened. The entire web development industry collectively decided that every website—from simple blogs to small business pages—needed the same solution that Facebook used for their billion-user platform.
It's like seeing someone use a crane to move their couch and thinking, "Damn, I need a crane for my studio apartment!"
crane-metaphor-no-text_2025-08-01T21-51-01-054Z.png736 KB


The Problems That Don't Exist

Here's what React evangelists will tell you that you need:

"Virtual DOM for Performance"

Reality check: The browser's native DOM is already optimized by teams of brilliant engineers at Google, Mozilla, and Apple. It's fast. Really fast. Most "performance problems" you'll encounter are from downloading 500KB of JavaScript framework, not from DOM manipulation.

"Component Reusability"

You know what else has components? Server-side templates. Partials. ViewComponents in Rails. Include files. We've been building reusable components since the 1990s. We just didn't need a 200MB node_modules folder to do it.

"State Management"

Oh, the infamous state management problem. You know what manages state really well? The fucking server. Sessions. Databases. Cookies. These technologies have been battle-tested for decades. But no, let's reinvent the wheel with Redux, MobX, Zustand, and whatever the flavor of the month is.

"Better Developer Experience"

Is it though? Is troubleshooting a white screen because one of your 1,847 dependencies broke really a better experience? Is explaining to your client why their simple form takes 3 seconds to become interactive a better experience? Is spending half your day configuring Webpack a better experience?

The Real Cost of the Lie

Let's talk numbers:
  • Average React app bundle size: 200-500KB (just for the framework)
  • Average Rails HTML response: 10-50KB (complete, interactive page)
  • Time to interactivity for React SPA: 3-8 seconds on average mobile connection
  • Time to interactivity for server-rendered HTML: Immediate
performance-metrics-no-text_2025-08-01T21-50-32-063Z.png654 KB


But the performance cost is just the beginning. The real cost is in complexity:
complexity-comparison-no-text_2025-08-01T21-50-03-338Z.png757 KB


The Hiring Nightmare

"We need a React developer" has become the new "we need a rockstar ninja." Companies are paying $150k+ for developers to build what could be accomplished with basic HTML and CSS. They're not paying for skills; they're paying for framework knowledge that will be obsolete in 2 years.

The Maintenance Disaster

Your React app from 2019 is now "legacy code." The patterns have changed. The best practices have shifted. Half your dependencies are deprecated. That Rails app from 2010? Still running strong with minor updates.

The Learning Curve Cliff

New developer on your team? Better budget 3 months for them to understand your:
  • Build system
  • State management pattern
  • Component architecture
  • Testing framework
  • CSS-in-JS solution
  • Routing library
  • Form library
  • Animation library
  • [Insert 20 more libraries here]
With Rails? "Here's MVC. Here's our conventions. Start contributing today."
developer-experience-no-text_2025-08-01T21-51-27-665Z.png655 KB

The Use Cases That Actually Need React

Let's be honest. There ARE legitimate use cases for React:
  1. You're building Facebook - Complex, real-time, highly interactive social media platforms
  2. You're building Figma - Browser-based applications that rival desktop software
  3. You're building a game - Highly interactive, graphics-intensive applications
Notice what's NOT on this list?
  • Your blog
  • Your e-commerce site
  • Your SaaS dashboard
  • Your corporate website
  • Your landing page
  • 99% of what we build on the web

The Alternative: Embrace Simplicity

Here's the secret the JavaScript Industrial Complex doesn't want you to know: HTML, CSS, and a sprinkle of JavaScript are enough for almost everything.
With Rails and Hotwire, you get:
  • Real-time updates: WebSockets built-in with ActionCable
  • SPA-like interactions: Without the SPA complexity
  • Progressive enhancement: Works without JavaScript
  • SEO-friendly: By default, not as an afterthought
  • Accessibility: Because you're using real HTML
  • Performance: Sub-100ms response times
  • Developer happiness: Because you're not fighting your tools

A Real-World Example

Let me show you the difference. Here's a todo list in React:
// 200+ lines of code across 5 files
// TodoApp.jsx, TodoList.jsx, TodoItem.jsx,
// useTodos.js, TodoContext.js
// Plus: package.json with 50+ dependencies
// Plus: webpack.config.js
// Plus: .babelrc
// Plus: setupTests.js
// Time to first paint: 3+ seconds
lang-jsx
Here's the same thing with Rails and Hotwire:
<!-- app/views/todos/index.html.erb -->
<%= turbo_frame_tag "todos" do %>
  <% @todos.each do |todo| %>
    <div><%= todo.title %></div>
  <% end %>
<% end %>

<!-- That's it. One file. Instant load. -->
lang-erb

The Truth They Don't Want You to Hear

The vast majority of web applications don't need a JavaScript framework. They need:
  • Good information architecture
  • Fast server response times
  • Progressive enhancement
  • Semantic HTML
  • Thoughtful CSS
That's it. That's the list.

Breaking Free from the Lie

If you're trapped in React hell, there's hope. You can:
  1. Stop the madness: No new React projects for things that don't need it
  2. Migrate gradually: Rails with Hotwire can replace React components one at a time
  3. Educate your team: Show them there's a better way
  4. Vote with your feet: Join companies that value simplicity over complexity

The Future is Server-Side

The pendulum is swinging back. After a decade of JavaScript madness, developers are rediscovering the joy of server-side rendering. The major frameworks are all adding SSR support, basically admitting that serving HTML from the server was right all along.
But why use a complex JavaScript framework to do server-side rendering when you can use a framework designed for it from the start?

Conclusion: Choose Simplicity

The next time someone tells you that you need React for your project, ask them why. Really push them on it. Nine times out of ten, you'll find that they can't give you a real reason beyond "that's what everyone uses" or "that's what I know."
Don't fall for the lie. Your users don't care about your framework. They care about fast, accessible, working websites. And despite what the JavaScript Industrial Complex tells you, you don't need React for that.
You just need to remember what the web was built for: delivering hypertext. It's right there in the name. HyperText Markup Language.
Maybe it's time we started using it again.
---
Ready to build something simple? Check out Rails Blueprint - the anti-React starter kit for developers who want to ship, not configure.