← all writing tech

Why I still reach for Vue

React won the popularity contest. I keep choosing Vue anyway — and it isn't nostalgia.

The internet decided a while ago. React won. Job boards, conference talks, the gravitational pull of every “what should I learn” thread — it all points one way.

I’ve shipped plenty of React. I’ll ship more. But when I start something new and the call is mine, I still reach for Vue. Not out of nostalgia. Out of math.

The boring reasons are the best reasons

People argue frameworks like football teams. I don’t care about that. I care about how a tool behaves at 11pm, when something is broken and I’m the only one who can fix it.

Vue, for me, wins on the boring stuff:

  • The template is just HTML, until it isn’t. I can hand a Vue component to someone who half-knows frontend and they can read it. The mental model is small.
  • It tells me where things live. Reactivity, state, styles — scoped, co-located, predictable. I spend less time asking “why did this re-render.”
  • It changes slowly and on purpose. I’ve carried Vue apps across years. The upgrades have been calm. Calm is underrated. Some weeks, calm is the whole job.

”But the ecosystem”

The usual objection: React has more libraries, more hires, more answers waiting on Stack Overflow.

True. And also — I have rarely needed the nine-thousandth library. I’ve needed the twenty good ones, and Vue has those. I’ve needed to onboard one more person onto a codebase, and a smaller mental model does that faster than a bigger talent pool ever has.

Pick the tool that makes the boring 90% of the work boring. The exciting 10% will take care of itself.

This isn’t a fight

Here’s where I disappoint the comment section: this is not React-bad. React is fine. Some of my own products run on it and sleep fine at night. If your team knows React cold, use React — the cost of fighting your team’s muscle memory is real, and usually not worth it.

The point was never Vue. The point is that “what everyone uses” is a different question from “what is right for this thing, built by these people, in this situation.” Defaults are convenient. They are just not arguments.

So I’ll keep reaching for Vue when the choice is mine. Quiet tool, calm upgrades, small mental model. Fourteen years in, that’s the kind of boring I’ve learned to pay for.