DEV Community

Cover image for React vs. Svelte

React vs. Svelte

Artem Verbitski on May 22, 2022

Introduction More and more often we hear about a relatively new web framework to develop user interfaces on web and even for mobile apps...
Collapse
 
andrewbaisden profile image
Andrew Baisden

Waiting for the day when Svelte jobs become extremely abundant on job boards.

Collapse
 
alesbe profile image
alesbe • Edited

I really like React and the relatively new hooks structure that makes everything so organized and intuitive, but Svelte is really good! At least for me the learning curve is higher in React, but because Svelte works simmilar to Vanilla JS but adding new features like the other frameworks and with the same optimization as vanilla. I didn't tried Svelte that much to have a solid opinion, but I really hope that JS frameworks start to diversified a bit and see what new frameworks has to offer.

Collapse
 
strativd profile image
Strat Barrett • Edited

Great break down! Big fan of Svelte. That said...

  • I would still lean towards React for large, complex projects. For now, React is more battle-tested with its adoption and developer community. For example, I started building a modern website in Svelte (that required 3D and AR components) and eventually had to switch back to React because of the libraries that React offers today. Technically, React is also more "reactive" when rendering thousands of components on one page because of the Virtual DOM.

Every developer has its own opinion about what reactivity is for him them.

  • Women code too! Let's include them :)
Collapse
 
northwillov profile image
Artem Verbitski

Totally agree with you! 😃
My bad.

Collapse
 
strativd profile image
Strat Barrett

No worries! Thanks for the edit 👍

Collapse
 
shareef profile image
Mohammed Nadeem Shareef

Svelte is great and all but the job market is filled with React and other top frameworks.

Collapse
 
murunwas profile image
murunwas

Svelte every day for me ❤️❤️❤️❤️

Collapse
 
hnazmul profile image
H.Nazmul Hassan

Delighted to hear that svelte joined to vercel ( owner of nextjs )... So svelte will cover the market because of this super power

Collapse
 
emmanuilsb profile image
Emmanuil B.

Great comparison. Svelte is amazing for small scale apps; I'm personally not sure how well it would work for large ones.

Collapse
 
ivan_jrmc profile image
Ivan Jeremic • Edited

The first react Hello.js makes no sense why are you storing the jsx in the variable element and not returning it directly also the export can be directly on the function if you would have done that you would see how clean it becomes. Also it is true that svelte is faster on normal apps and site but let's say you are rebuilding excel in the web with thousands of rows then the vdom will update faster.

Collapse
 
northwillov profile image
Artem Verbitski

It is an example of JSX, and you are free to store a component to variables. This example is not to show the cleanest of them, but to show the basic syntax.

Collapse
 
ivan_jrmc profile image
Ivan Jeremic

This is not how a React Developer would write it, it should be written how everyone would and not as ugly as possible.

Thread Thread
 
northwillov profile image
Artem Verbitski

Special for you: 🙂

export const Hello = ({world}) => <h1>Hello, {world}!</h1>;
Enter fullscreen mode Exit fullscreen mode
Thread Thread
 
qazwsxplokm profile image
qwer tea

Why wouldn't a react developer export it separately? Almost every example I've seen does it that way. And the three companies that I've professionally worked on react code at have done it this way. I find it easier so that you can wrap the export with things like redux or apollo. What an odd thing to say!

I find the code example weird because the svelte code includes css, while the react code does not. Also in the svelte code you explicitly set the var "name" to "world", but then in the react code you pass in a prop named "world"... that's really confusing.

Collapse
 
jwp profile image
John Peters

Both Svelte and plain old JS Webcomponents will eventually overtake React unless it changes to keep up.

Collapse
 
ozzythegiant profile image
Oziel Perez

Svelte. Nothing further to discuss #DeathToReact