React dot JS, or simply “reaked”, is a not inconsiderable amount of JavaScript, written by some self-styled engineers, to help a website called Facebook undermine democracy, foment genocide, and do whatever else is needed to sell virtual advertising space.
Director’s note: Working for corps
We don’t set out to bolster the worst excesses of corporations, but that often how things go. I’ve helped organizations be “more accessible” who shouldn’t probably exist in the first place.
The React logotype, depicting an atom, evokes the infamous Manhattan Project, wherein a number of very clever people created some extremely dubious technology just to prove they could.
Director’s note: Oppenheimer
This was inspired by a meme depicting Einstein as HTML, Ken from the Barbie movie as CSS, and Oppenheimer as JavaScript. The React name and logo just make it a bit more chef’s kiss .
React was first deployed on Facebook's newsfeed in 2011 and was officially open-sourced in May 2013. By 2017, Facebook had made itself the primary source of information in Myanmar where, as Amnesty International attests, its algorithms were responsible for the atrocities perpetrated against the Rohingya people. In 2020, React controversially introduced Hooks: an alternative to class-based React components.
Director’s note: React is a tool?
Shit like useMemo
is so counterintuitive to me. The point of React is surely to make things easier; to help you build things. But half the API is stuff you’re supposed to use just to avoid React itself sh**ing its pants.
React is useful for making complex interfaces like Facebook’s or for making otherwise simple interfaces, and their underlying codebases, complex like Facebook’s. Rendering the text “hello world” without React requires one text editor and exactly 11 bytes of code. Doing the same with React, via the popular “create-react-app” command line interface, requires over 200MB of Node modules. The continual maintenance and expert calibration needed to run a React application has created a thriving job market.
Director’s note: Unfair comparison
People will say this is an unfair comparison. The point is to only use what tech you need and 200MB
(closer to 250MB
when I last looked) of boilerplate is pretty whack. And it doesn’t really get you anything special except the privilege to do things in a React way . You still need to write the code you need to do the thing you need to do. Which could be written without React, with fewer (or no) dependencies and less stuff sent to and executed in the browser.
An important feature of React is the virtual DOM. As the state of a complex and “realtime” interface changes, React may need to make multiple and concurrent updates to the DOM. Since these changes are costly, it maintains a lightweight version of the DOM and makes changes to this instead. Since this virtual DOM does not itself represent any kind of user interface, the same changes must be made to the real DOM as well.
Director’s note: Diffing
As I state at the end, there’s no need to diff entire DOMs to establish which bits need updating if you are only selectively placing JavaScript in the DOM. The parts you don’t update are the parts that... don’t update. And we generally underestimate how much of our applications are, in fact, static: just text, images, stuff that sits there.
This doesn't make sense, but it doesn't have to. That's because React is not a logic based tool but a faith based one. React's underlying technology, JavaScript, was originally created by a Roman Catholic who funded a campaign to rescind equal marriage rights.
Director’s note: Donation
The exact amount Eich donated was $1,000. Not a huge sum of money, but a world apart from just holding the opinion that you don’t agree with same-sex marriage. To get a better understanding of the Proposition 8 campaign, read this: (Just a Reminder: The Campaign for Prop 8 Was Unprecedentedly Cruel)[https://slate.com/human-interest/2014/04/brendan-eich-supported-prop-8-which-was-worse-than-you-remember.html].
React’s annual React Rally conference is held in Utah, a US state populated predominantly by Mormons.
Director’s note: Mormon population
As of 2020, 60.68% of Utahns reported to be members of The Church of Jesus Christ of Latter-day Saints. Census data regarding religion can be misleading, though. A lot of people put down whatever default religion they believe they belong to and may not be practicing at all.
If you attend a React conference, you may be offered a free copy of The Book Of Mormon. While this generous gesture is protected under the first amendment, it is entirely unnecessary. The Marriott Hotel you are staying in will have already placed a copy of the Book Of Mormon in your room.
Director’s note: First Amendment
“Congress shall make no law respecting an establishment of religion, or prohibiting the free exercise thereof.”
It’s a bit... unexpected for anyone to be offering bibles out at a tech conference, but there’s nothing illegal about it.
In summary:
Facebook is a [redacted] company with a terrible web interface.
React is a technology created at Facebook to administer its interface.
React enables you to build web applications and their interfaces the way Facebook does.
I am not calling Facebook Meta
JavaScript-first interfaces built on ecosystems like React’s are cumbersome and under-performing.
React prevails because its evangelical proponents and apologists have convinced developers that Facebook’s success can be attributed to technological quality and not aggressive capitalism.
Continuously evaluating which parts of your entirely JavaScript-driven interface need to be updated is not necessary, even in theory, when your interface is not made entirely out of f**king JavaScript. You know which f**king bits need updating because they’re the few bits that actually f**king use JavaScript.
Links from the credits: