Elektrine lite

← Feed

@zachleat@fediverse.zachleat.com

Post #1980509

2023-02-06 19:13 UTC

A Historical Reference of React Criticism https://www.zachleat.com/web/react-criticism/ There have been a number of criticisms levied at the React project over the years, some of them handled and some of them still wavering in the wind. In this post, I’ll summarize the ones that are most prominent in my memory as a way of maintaining a record (primarily for my own use but maybe you’ll find it useful too).

Replies (16)

  • Wow, I… uh, well, there are quite a few more submissions from folks that need to be added to this post—I’ll try to get to them in a bit. A lot more than I remembered, for sure.

    Open ##2032904

  • Alright, I pushed a fairly sizeable addendum to this post with a bunch more links. Thank you to @nachtfunke @krinkle @whalecoiner @hi_mayank @thomasapowell @frehner and the others who sent me things over DMs and will remain anonymous!

    Open ##2032905

  • @hdv@front-end.social 2023-02-06 19:44

    @zachleat thanks for this post, I find seeing it all in a timeline super helpful!

    Open ##2032906

  • @thomasapowell@fosstodon.org 2023-02-06 19:53

    @zachleat June 2016 seems like when they knew, but did very little to dispell conventional dev beliefs.

    Open ##2032909

  • @passle@mastodon.social 2023-02-06 20:54

    @zachleat Reacts custom elements story is a sad joke

    Open ##2032916

  • @remotesynth@mastodon.xyz 2023-02-06 21:40

    @zachleat Wow those numbers for Next.js you cite at the end are abysmal. I am feeling like opinion may be shifting. As someone who has never really bought into React/Next (I've used it and written about it entirely out of necessity), it's nice to see.

    Open ##2032934

  • @frehner@mas.to 2023-02-06 21:42

    @zachleat one minor correction - the Hydrogen team is the one that made that statement about RSC, not the Remix team. We both work at Shopify, and work together frequently as well, but we are different teams and people.

    Open ##2032936

  • @43081j@mastodon.social 2023-02-06 22:42

    @zachleat Can't believe Rob's RFC was 5+ years ago. I feel like one or more people in the react team must hate custom elements and the DOM just as much as they hate classes :D

    Open ##2032941

  • @krinkle@fosstodon.org 2023-02-07 11:43

    @zachleat Some pages in my secret "React" bookmarks folder: * http://webreflection.blogspot.com/2015/04/the-dom-is-not-slow-your-abstraction-is.html?m=1 * https://www.swyx.io/svelte-static * https://www.youtube.com/watch?v=uCHZJy2n8Qs 2017: VDOM is DX over UX. * https://emmas.site/blog/2020/09/12/react-is-a-subsidy * https://css-tricks.com/the-future-is-bright-because-the-future-is-static/ * https://instagram-engineering.com/making-instagram-com-faster-code-size-and-execution-optimizations-part-4-57668be796a8 Compressing React didn't make it faster, bottleneck is code complexity not transfer. * https://branislavjenco.github.io/desired-state-systems/ "React is .. because DOM is very slow", citation needed * https://blog.jim-nielsen.com/2022/web-predictions-on-a-whim/ "the pendulum of React is swinging" * https://frontendmastery.com/posts/the-new-wave-of-javascript-web-frameworks/

    Open ##2032944

  • @joegaffey@mastodon.social 2023-02-07 15:59

    @zachleat Almost tempted to pop over to the other place to see the Reaction over there 🍿

    Open ##2032949

  • @jaredwhite@indieweb.social 2023-02-07 20:28

    @zachleat The thing that drives be absolutely **batty** is that it's always been pretty straightforward to use React in an "island" scenario. Like, a mostly server-rendered app written in any language could just carve out one piece of DOM on some screen and hand it over to a lazy-loaded React. And yet…nobody really seems to do this. React takes over not only the whole page but the whole damn app! Why?? What is it about React that leads people to think that's how it's *supposed* to work?

    Open ##2032954

  • @sayrer@mastodon.social 2023-02-07 20:29

    @zachleat You can find the source here https://medium.com/@ji/react-was-invented-by-jordan-walke-who-was-working-on-facebook-ads-at-the-time-db5fdd21f5a4 They were having problems keeping things straight (you have to do this with ads code), and React's model is coherent even if I agree with some of the performance criticisms. I think you're missing a simple point, which is that pushing computation to the client will encounter variable client CPUs, and some of them are not good. You can keep things more uniform by doing things on servers you control, but that might cost more money.

    Open ##2032961

  • @joegaffey@mastodon.social 2023-02-07 23:08

    @zachleat looks like there's a similar, somewhat React inspired, history on the iOS side https://ioc.exchange/@shac/109824219329340869

    Open ##2032968

  • @alan@kolektiva.social 2023-02-07 23:56

    @zachleat This feels a bit ahistorical at some points. The complaints about early performance don't exist in a vacuum. React was eating AngularJS's lunch while Angular 2 was in development hell. React was very much the underdog initially in the CSR space, which was well established. The "VDOM is fast" claim vanished as AngularJS (which used observers, which were slower) became increasingly irrelevant. In fact, SSR was initially one of React's selling points over the competition until it faded more and more into the background, especially with CRA which has been de facto abandoned by its creators since shortly after its inception - Dan Abramov actually made a poll about where CRA should go from here as it's still the blessed default while being increasingly archaic with the rise of Next, Vite and Remix (he seems to prefer Vite, not Next). Also, do web components actually have an SSR story yet? A few years ago Google devrels smugly promoted Polymer as "using the platform" with the "best practice" demo's HTML literally containing a single element in the body. Note that actual performance never factored into this, the understanding was that polymer was mostly web standards plus polyfills so it would become fast eventually and was simply morally superior despite being entirely limited to CSR (at least at the time). It's always fair to criticize React and I'm the last person to complain if people want to shit on Meta but a lot of it just feels like a general criticism of most frameworks in the frontend space at any given time (cf. people in the discourse around this website complaining about tailwind, which seems to be entirely irrelevant beyond philosophical icks), which seems intellectually lazy if not dishonest if the point is to criticize React in particular. The frontend framework demon has been unleashed since at least dojo toolkit and jQueryUI/backbone (which, btw, also had no SSR support) and there's no point in pretending we can just go back to naked HTML+CSS like those mythical alternate early 2000s which never existed in that form ('member XHTML2 and the Semantic Web? They never made it past the concept stage). React didn't start the fire.

    Open ##2032972

  • @zander@toot.cafe 2023-02-08 09:36

    @zachleat Thanks for this, Zach. As someone that builds React apps by day, I am quite uneasy about the state we're in as an industry, and aware that what I do isn't helping the matter.

    Open ##2032976

  • @toddmorey@indieweb.social 2023-04-21 16:44

    @zachleat But can we talk about that zachleat.com typography. 👍

    Open ##2032979