Svelte vs. React and Vue: A Hands-On Comparison
Josh Collingsworth’s new piece offers a detailed walkthrough of Svelte's component format, positioning it against React and Vue. While the article is clearly written from a Svelte enthusiast’s perspective, it surfaces a few technical points worth highlighting.
Collingsworth emphasizes Svelte's HTML-first design, noting that Svelte code is largely browser-readable HTML and JavaScript—essentially a small superset of HTML. He also points out that Svelte is reactive by default: reassigning a variable automatically updates every place it’s referenced, whereas React and Vue both require explicit initialization of reactive variables.
One notable aspect is the component syntax itself. In Svelte, you simply write standard HTML without needing a <template> wrapper or a return statement. The author also highlights how you can drop a scoped <style> tag directly into a component—a pattern he suspects Astro may have borrowed. That said, the fenced JavaScript block at the top of a Svelte component, which runs only at build time by default, remains a point of personal preference for the reviewer.



