Primary source: Modern Web Frameworks: A Comparison of Rendering Performance (2022) – https://journals.riverpublishers.com/index.php/JWE/article/v...
Svelte is definitely still my favorite way to build web apps in 2025.
I wasn't (and still am not) the biggest fan of the new Runes syntax, but I've gotten used to it, and it doesn't really hurt my productivity or get in my way that much.
There's definitely an ecosystem gap compared to React, but there are still lots of really good components and frameworks out there. For example, there's a native Svelte version of IBM's Carbon Design[1] which I've used and found to be very high-quality.
And as for arguments that React will keep winning due to LLMs not having enough corpus to learn less-popular frameworks, I've anecdotally had good success with using LLMs to edit and generate Svelte code. There are occasionally some issues (like it generating pre-runes syntax or using deprecated stuff like stores) but it works well enough to be useful, and definitely better than I expected.
It's worth pointing out this article is discussing Svelte 3.x when the current version is Svelte 5.x and has some significant departures from previous versions (i.e. the introduction of runes)
I haven't finished reading the article yet. I am a fan of Svelte, though, and have switched to using it by default for new projects - coming from a React background.
> Because WebAssembly modules lack direct access to the DOM, they rely on an additional JavaScript interoperability layer, which can introduce extra overhead.
Blazor is slow for other reasons. You can make wasm web frameworks fast (see leptos and dioxus). It can be as fast as vanilla js. Sledgehammer on this benchmark is wasm: https://krausest.github.io/js-framework-benchmark/2023/table...
I still like Svelte, but to me SvelteKit has taken up too much of its mind/devshare. Svelte itself is fantastic, especially as a Vue guy I love the "new" reactivity system/runes, but SvelteKit for me is horrible. It's just a hodgepodge of over engineered crap to cater to React/Next devs, and the Svelte team has also been hell bent on horrible decisions like the abomination that is routing[1] in SvelteKit.
To me Kit is the antithesis of what made Svelte so attractive to me originally. Svelte was dead simple and intuitive to use, Kit is anything but.
I love Svelte. When I first used it, it was like using a framework for the first time: Wow, everything is namespaced to the component, even CSS! Wow, just putting $ in front makes it update automatically! etc, etc
Blazor is popular? First time I hear this.
Also the article is commenting on this other article from 2022 which is severely outdated by now.
https://journals.riverpublishers.com/index.php/JWE/article/v...
Did Svelte gain the adoption like React and Vue ? I am not sure how mature the ecosystem is. I am always wary of using things in production that have not gained significant adoption.
> Angular, for example, always walks through the entire component tree
Angular has OnPush change detection strategy and can even be free of zone.js now, so this isn't necessarily true.
Would like to see how this holds up with a up-to-date version of Svelte/Sveltekit. Also, missing the comparison of Solid/SolidStart.
I've never used Svelte before, so maybe I'm misunderstanding what they mean by tracking dirty, but this bit confused me.
> This requires the framework to track which components are dirty. Vue does this at runtime, Svelte handles it at compile time.
How can it possibly track this at compile time? Best I could see if tracking where those bits could be set, but not actually setting them.
I wonder why the article used old versions of React and Svelte? It is using React 17 and Svelte 3.
So what’s the deal with svelte runes and maybe causing people to switch off of it?
Serious question: is rendering throughput as much of an issue today as it used to be?
I feel like CPUs have gotten a ton faster while bundle sizes have gotten larger and mobile networks still have a ton of latency, so network matters more in the scheme of things.
Would love to hear other perspectives, though!
It's that fast because it uses a declarative model and this ends up being very efficient for a variety of use-cases
(I say this speaking from a NixOS laptop; Nix operations are invariably much faster than alternatives, like Docker, assuming you have the technical chops to get them to work)
I grew tired of Svelte after it introduced too much "magic". Svelte used to be simple, now it's Vue that feels simple (and yet powerful), and Vue has a much bigger ecosystem in terms of plugins, etc.
Switched to it on a greenfield project. It’s got a clean snappiness to it.
I'm on a project now that requires using Svelte in an enterprise setting. I've used all the big 3 (Angular, React, Vue) and then some (Ember, AngularJS) and I can say without a doubt, Svelte is my least favorite of them all by far. To say it has encouraged designing an unreadable mess in the code-base is an understatement. It seems to have taken the worst aspects of the big 3 and ran with it. I'm utterly confused why people enjoy this wild west hodgepodge of framework mistakes. I'd argue the improved speed is not worth sacrificing readability and lower cognitive load. This is designed for tinkerers and hobbyists. I say this with confidence of nearly 20 years experience building enterprise web applications (including in FAANG): Svelte is another fad library that has no place in a professional setting.
What is react doing that appears to make it so much slower? Where does it spend its time?
It's a bit sad that this is using Svelte 3 instead of Svelte 5, which changed its reactivity model to signals!
Is this just summarizing findings from a 2022 paper?
(2022 paper https://helda.helsinki.fi/server/api/core/bitstreams/a301a02...)
Is this AI? How is Blazor a JS framework, let alone a popular one?
Also no Solid.js?
As someone who has been doing frontend dev since "AJAX" was the hot new stuff...
I am deeply, deeply disappointed in the field. It simultaneously has an extremely high rate of churn and an extremely low rate of actual innovation.
After observing the discipline for nearly two decades, I am concluding that almost all the "progress" really starts to look like we're just rearranging the furniture endlessly without substantive improvements in developer velocity or end user experience.
Any given "progress" looks reasonable for a moment but is ultimately circular. We've been playing rock/paper/scissors with "better" techniques for a long time now.
Angular performance benchmarks before zoneless (v19+) are obsolete.
Svelte wasnt fast before 5.x
I'm no longer a fan of using any front-end libraries at all en lieu of just using standard event listeners and web components, but in their defense, by the time that you're creating or updating that many elements, most developers are backing out of the framework anyway.
It's the primary reason virtual table libraries exist.
Every Svelte enthusiast I have spoken to tends to lean towards the esoteric Elm and other such technologies.
They don’t really understand that software isn’t about “my framework can render 1000 elements 500ms faster” but rather my organization of hundreds or thousands of front end engineers (mix of employees and contractors both of whom usually don’t give a fuck) across the WORLD need to be able to work together on a significant product and ship constantly without breaking things.
And customers don’t give a fuck otherwise they wouldn’t be paying six figures or more for literally shit software.
That said I have tried it a couple times over the years. Not sure I like the latest direction they’ve gone though.
Would be interesting if they compared also other WASM frameworks.
Obligatory: sad state of web where React is so popular.
I'm so sick of these performance benchmarks. I understand it's easy to spin them up to show that one framework is faster than another, but in general all these frameworks are fast enough for 99.9% of use cases.
Where frameworks lack today, in my opinion, are in providing the right tools further optimize the UX of interacting with web sites. It's a constant struggle of loading spinners and flicker and loss of scroll positions.
The only framework I see that actually tries to resolve these very hard problems is React, through their work on new asynchronous primitives like startTransition. Yes, they are currently hard to understand how to properly use, but I so wish the discourse would be around how to best resolve these actual UX issues than who can create 50M divs the fastest.
The fact this is already outdated by more recent Svelte releases which changed things drastically is exactly my problem with the modern JS space. So fast moving and most of it is still doing JQuery like reactivity.
I am probably just not smart enough to get it, but it reminds me of the constant seemingly pointless rewrites I see in companies. Figure out what works and keep it, is that so hard? Why can other languages do that. Is this just the nature of web dev?