4 ms·
The problem with metas approach to tooling from a very high level viewpoint is that they virtualize everything. They abstract all common tasks like building, te
by fzeindl 3y ago
The problem with metas approach to tooling from a very high level viewpoint is that they virtualize everything. They abstract all common tasks like building, testing or running by building an entirely new system that builds an abstraction layer.
Abstraction layers tend to be slow.
What they should focus on is plumbing. Take what exists and connect it in a smart way.
Take React: the idea of applying functional programming and spitting out HTML was a great idea. HTML existed before react. Then they also implemented a virtual-DOM, which was the unnecessary part.
Or react-native: rendering UIs in a functional way is great, but stuffing JavaScript into everything is not necessary.
- RandallBrown 3y agoMaybe it's not necessary anymore, but wasn't the virtual DOM made for performance reasons since updating the DOM used to be really really slow?
- Jcampuzano2 3y agoVirtual DOM in any scenario will always be slower than updating the DOM directly. The virtual DOM will always be overhead. The issue is if you are manually updating the DOM yourself you can easily shoot yourself in the foot by doing so in a way that is less performant, or breaks things like scroll position, focus management etc. Its also normally more tedious to do manually. This is where the virtual DOM came in. You just declaratively update the JSX and it handles the updating itself. But nowadays there are plenty of solutions that do not use virtual DOM (or even use a virtual DOM solution that is just plain faster) but still allow you to use declarative rendering, basically the best of both worlds. They are just not as popular or for some people not as interesting to them as React is. Or they are content with Reacts performance already.