DEV Community

Discussion on: Is Virtual DOM overhyped?

Collapse
 
miketalbot profile image
Mike Talbot ⭐ • Edited

With your point 1 - I presume you mean "more code is executed" as there really isn't any more code written by the framework user.

We know Virtual DOMs can be fast - faster than Svelte, faster that Solid - ivi is the fastest according to Ryan Carniato (author of Solid) and Inferno can beat out Svelte and Solid too, it also uses a VDOM. There is a lot of complexity here and the flat out performance of a framework is not the only thing one needs to worry about - the developer experience and the mental model you can make is also very important.

React is looking at the whole lazy updates as things change, this is about allowing you to reason with the logic of the application and its user interactions - that's also an interesting area that can significantly improve the real world performance of an interface.

Not that I'm dissing Svelte, I love the way the framework operates and it is highly performant. I've built and released commercial software using it.

Depending on what you are building though there are many other important parts of the puzzle, Marko and its rehydration and streaming are also vital parts for web sites rather than apps as these must respond much more quickly.

At the end of the day, you need the rendering performance you need for each app, and you need a developer experience that makes building it easy. That may also include a library of components to use to make your app. You need to bear all of these considerations in mind and choose the right set for each individual project. Life as a software architect huh?

Collapse
 
peerreynders profile image
peerreynders

I think in the short term people should at least take a serious look at Preact as a React alternative, especially when React Native isn't a consideration.

... and for those less risk averse but pro-JSX perhaps even SolidJS

... perhaps (either) in combination with Astro if it fits:

The four quadrants of web framework capability

From: