We looked at more than 200 production codebases we've built, inherited, or audited over the past four years. The goal wasn't to crown a winner — it was to find out whether the framework choice actually predicts anything we care about.
The short version: less than you'd think, and rarely in the ways the benchmarks suggest.
Performance: mostly a wash
Synthetic benchmarks show meaningful gaps. Production applications mostly don't. Once an app is real, the dominant costs are network waterfalls, unoptimised images, and third-party scripts — none of which your framework controls.
In our sample, the variation in Core Web Vitals within each framework was several times larger than the variation between frameworks. A well-built React app comfortably outperforms a careless Svelte one, and the reverse is equally true.
The slowest apps we audited weren't slow because of their framework. They were slow because they fetched data in a waterfall and shipped 400KB of analytics.
Bundle size: Svelte's real advantage
Svelte's compile-away runtime is a genuine win, and it's most visible in smaller applications where the framework is a meaningful share of the bundle. For a marketing site or a focused tool, the difference is worth having.
That edge narrows as applications grow. Past a certain size, your own code and your dependencies dominate, and the runtime you shipped becomes a rounding error.
Ecosystem and hiring
This is where the gap is real and it isn't close. React's ecosystem means the odd problem you hit at month four has an answer already. Vue's is strong and notably more coherent. Svelte's is capable but thinner, and you'll occasionally build something yourself that you'd have installed elsewhere.
Hiring follows the same curve. For a team that needs to grow quickly, React's talent pool is a business advantage that has nothing to do with technical merit — and dismissing it as such is a mistake we've watched teams make.
Developer experience
Svelte's authoring experience is the one people rave about, and the enthusiasm is earned — less ceremony, less state-management archaeology. Vue sits comfortably in the middle with excellent documentation. React demands more of you and gives more back once the team is fluent.
Notably, the codebases we found hardest to maintain weren't clustered in any one framework. They were the ones without conventions, in every framework equally.
How we actually decide
- Team already fluent in one? Use it. Fluency beats every benchmark on this page.
- Hiring aggressively over the next year? React, for the talent pool.
- Content-heavy site where bundle size is the metric? Svelte is a strong fit.
- Complex app, mixed-experience team, needs to stay readable? Vue is underrated here.
The framework debate absorbs an amount of energy wildly disproportionate to its impact. Your data-fetching strategy, your rendering approach, and your team's conventions will each affect the outcome more than this choice will.