In May 2025 a team at ByteDance published Web-Bench, a coding benchmark with an unusual detail tucked into its appendix. It gives the same tasks to four UI frameworks (React, Vue, Angular and Svelte) and checks every result with end-to-end tests. The model that led their overall results was Claude 3.7 Sonnet. With thinking turned off it passed 65% of the tasks in React. In Vue it passed 30%.
I also tried testing this on two projects, and sure enough, the AI is better trained or, I would say, has a better understanding of React projects. 🤷
Here's the whole table from the paper's appendix. The numbers are pass rates in percent, measured as pass@2 over five runs:
| Model | React | Vue | Angular | Svelte |
|---|---|---|---|---|
| Claude 3.7 Sonnet (thinking) | 60 | 40 | 50 | 55 |
| Claude 3.7 Sonnet | 65 | 30 | 40 | 25 |
| Doubao 1.5 Pro (thinking) | 50 | 40 | 25 | 40 |
| Doubao 1.5 Pro | 35 | 35 | 5 | 10 |
| GPT-4o | 35 | 30 | 5 | 20 |
| DeepSeek-R1 | 40 | 30 | 30 | 40 |
It's a small sample. Each framework gets one project of twenty tasks so five points is roughly one task. The ranking isn't clean either, and Svelte beat Vue for two of the six models even though far fewer people use it. But React came out at or above Vue for every model on the list. And the authors' first explanation is the one anyone would guess: React "provides the largest dataset for LLM training."
It matches what I see in my own work. React from an assistant usually reads like React somebody wrote this just recently, whereas in Vue, deviations are more common! And these deviations often look as if someone used a Vue 2 template that no longer exists, or mixed two API styles within a single component. Nothing dramatic. Just more to check.
So there's a criterion that has quietly slipped into framework choice, one nobody likes to say out loud: the AI is better at it. Is that a legitimate reason to pick a framework? Noooo... It's a legitimate input and a bad deciding factor. Here's how I get there. I'll start with the case for yes because it's stronger than the people who dislike the question want it to be.
The model has just read a lot more React
If we look at some basic statistics from GitHub, for example, we can see that the number of stars on GitHub hardly reflects this difference. The paper lists React at 235k and Vue at 208k but stars measure attention and a model learns from the code people actually write and publish, so usage is where the gap lives.
In the 2025 Stack Overflow survey 44.7% of respondents used React and 17.6% used Vue. On npm React got about 203 million downloads in the week of September 21 to 27, 2026 and Vue got about 18 million. That's the same roughly 11x gap that showed up when I compared the two frameworks.
Vue also carries a history problem that React mostly doesn't. Vue 2 shipped in September 2016 and was supported until the last day of 2023, while Vue 3 only came out in September 2020 and removed a handful of things Vue 2 code leaned on (the $on event methods, filters, $set), so for four full years almost every new Vue tutorial, answer and public repo on the internet was written for Vue 2, and some of what they taught doesn't work anymore.
Vue 3 also has two official ways to write a component. There's the Options API and there's the Composition API, and both are fully supported (the docs even point out that the Options API is built on top of the Composition API). So the model has three dialects of Vue in its training data. Mixing them is what I'd expect from a model that has seen all three used side by side for years. That's my reading, to be clear. The benchmark didn't test why.
React has old dialects too. Class components are all over public code and the React team only deprecated Create React App in February 2025. The difference is proportion, I think. There's so much hooks-era React out there that the current idiom usually wins.
The case for yes is real
In the same survey the most common frustration with AI tools was "AI solutions that are almost right, but not quite" and 66% of developers picked it. And 45.2% said debugging AI-generated code takes longer. That's why if a project has only recently been updated to Vue 3 but some components or services still use the Vue 2 approach, then each such instance requires a code review. Each one costs a read and a re-prompt, and across a team and a year that adds up to real hours.
Onboarding is the other half. Someone new to a React codebase who leans on an assistant gets taught current React. The same person on a Vue codebase can get taught a blend of Vue 2 and Vue 3 with no way to tell which parts are which. For a junior that can be worse than no help at all, because the old idiom arrives with exactly the same confidence as the current one and nothing in the diff or the passing test says which of the two they just learned.
Honestly, the mixed-style component is the sneakier problem. It usually runs fine. It just makes every later reader's job harder and it's the kind of thing that gets merged because it works.
So if a team is choosing between two frameworks it could live with equally well and it'll write most of its code with an assistant, I don't think it's silly to pick the one the assistant writes better, since that's a cost like any other and costs belong in a decision like this. If the argument stopped there I'd have nothing to add.
Choosing by corpus feeds the corpus
Here's where I get off. The first problem is that picking a framework because the model's read the most of it is a loop. The popular option gets more code written in it. The next models train on that code and get better at it, and that's what pushes more people toward it.
Lovable's one of the AI app builders, and in February 2025 it explained why it generates React. The reason it gave is the loop in one sentence: models trained on code "can generate high-quality React code due to its dominance in online resources." So the apps a tool like that produces are React, and some of those apps get pushed to public repositories, and public repositories are exactly what the next round of models reads when its makers go looking for code to learn from, and round it goes. I don't blame Lovable, it's a sensible product call. That's exactly why it's a loop and not a conspiracy (every single step in it is reasonable on its own, and I'd probably have made the same call in their seat).
There's a second gear, and it's the one that worries me more. The public Q&A that taught models how people really use a framework is drying up. A study in PNAS Nexus found that activity on Stack Overflow dropped 25% within six months of ChatGPT's release, compared with Russian and Chinese Q&A sites where ChatGPT was hard to get. The authors' own conclusion is that "the decreased production of open data will limit the training of future models."
React built its mountain of public answers before that happened. The next framework has to build its pile in a world where people ask a chatbot instead of posting a question, and the chatbot answers in a private window, and nobody's around to write the better answer three comments down that the next model would've learned from. If everyone picks by corpus size, nothing new ever gets a corpus.
What I want is a Vue and a Svelte and whatever comes after them still pushing on React ten years from now, and a whole industry quietly picking by training data is how that stops happening.
Models change in months, frameworks stay for years
The second problem is timing. Look again at the model that led that benchmark. Its API name is claude-3-7-sonnet-20250219 and Anthropic's deprecation page lists it as retired on February 19, 2026. That's a year to the day after the date in its name. After that requests to it just fail.
Vue 2 got support from September 2016 to December 31, 2023. More than seven years. A framework picked this year will very likely still be in the codebase long after the models that made it look like the easy choice have been deprecated, retired and replaced a few times over, by which point the reason it was picked is one line in an old planning doc and the code is the only thing left.
The gap itself also moves, and the clearest sign of that comes from the React side. I use CLAUDE.md in my project, and it includes a block that next dev wrote on his own! And to be honest, I didn't even notice it! It opens with "This is NOT the Next.js you know" before warning the agent that APIs, conventions and file structure "may all differ from your training data" and telling it to read the docs bundled inside node_modules before it writes any code at all. Turns out even React's biggest framework tells the model not to trust what it learned, and that's the side with the biggest corpus. Vercel measured the fix too. In their evals the agent that had the version-matched Next.js docs in front of it hit a 100% pass rate against 79% for the best skill-based setup.
I'm not aware of a Vue measurement like that. There's a community project called vuejs-ai/skills, which calls itself an early experiment and lives outside the official Vue organization. Anyway, the point stands: a fluency gap is the kind of thing that can shrink in a release or two, and nobody revisits a framework choice that fast.
An input, not the decision
So I'd keep it on the list, just not at the top. The codebase that already exists comes first, then the team you have and the one you'll hire, then the meta-framework that fits the product. After that comes how well the assistants you use write it, as a real line in the cost column. Between two options that tie on everything else it's a fair tiebreaker.
And if the answer is Vue or Svelte or anything else with a smaller pile behind it, go in knowing the price. More review time per generated file. Output checked against the current docs, not the model's memory. Mixed API styles treated as a real review comment and not a nitpick. Putting the current docs in the model's context the way Next.js now does by default makes the gap smaller, though I'm not sure it ever gets to zero.
I'd still rather pay that in review hours than pick a framework for the one reason that'll be out of date first. If you've picked a stack partly because the assistant was better at it, I'd like to hear how that held up.
Thanks for reading! English isn't my first language, so I use AI to polish the grammar. Everything else here - the ideas, the code, the opinions - is mine.
Enjoyed this one? Let's stay in touch — I'm on LinkedIn, always happy to chat, swap ideas, or just say hi. 👋

Top comments (2)
Really interesting follow-up 😸
I’d be a little careful with the benchmark though. The sample is small, and several of the models are already old or retired, so I’m not sure it reflects the current gap very well.
I do think the feedback loop will get stronger 👇
AI is better at React → more people choose React → even more React code gets produced.
But for now, the responsibility still belongs to humans. So framework selection also depends on whether "the team can learn deeply enough to catch when the AI is confidently wrong".
AI support matters, but human learning ability still matters just as much. 😸
hmmm... 🤔
yeah, fair 😊 It's only one project per framework and the model that topped that table is already retired, so I wouldn't read those numbers as today's gap. I mostly used it because it matched what I see in my own projects, Vue output just needs more checking. And I agree on the human part, if the team doesn't know Vue 3 well, the Vue 2 leftovers just get merged because they work. That makes sense. Thanks!