> With newer frameworks like Svelte, the virtual DOM isn't even used because of the performance overhead. Instead, Svelte uses a technique called "dirty checking" to determine what has changed.
"Newer frameworks" lol.
Angular was doing this before Svelte was a twinkle in its creator's eye.
But that doesn't exist because it's "old" and frequently used.
Never really thought react was a problem. I think it's quite fast. Issues that I've seen are with reduxjs which triggers a ton of re-renders if you return a new object from the useSelector hook. And it's fucking stupid because even one component that pollutes the store, it can slow the whole app to a crawl. Think for example something that fires on onHover and we want to achieve 60fps. Even Figma suffered from this issue. They wrote a blog about it.
This looks quite cool for some usecases. I also quite like the honest breakdown of their VDOM approach[0]. It highlights strengths + weaknesses and even gives an example of when it is (not) a good fit. This very useful and very much appreciated.
A big chunk of this is in the compiler, which extracts the “template” of your components into its own component. That would break a lot of projects if it was somehow able to be upstreamed into react.
It’s neat, but I don’t hit performance bottlenecks in the front end anymore.
No, I just don't do much heavy computing on the front end anymore in 2023. Server-side rendering for components (Astro, Remix, et. al) really makes the front end just a place for animations and models again. If your animations and models are slowing to a crawl on your client's machine, then it really isn't so bad to get rid of the fancy stuff. Your routing, rendering, and business logic probably shouldn't be in the FE IMO.
> Server-side rendering for components (Astro, Remix, et. al)
Curious about your experience with Astro and Remix. Also could I ask why you didn't go with Next.js since that seems like the Hot New Thing these days especially when it comes to SSR (haven't tried it myself though)?
"Newer frameworks" lol.
Angular was doing this before Svelte was a twinkle in its creator's eye.
But that doesn't exist because it's "old" and frequently used.