As a long-time user of React who was using it way before you were, I am definitely not a late bandwagon-jumper who is trying really hard to retcon the past 3 years to make it look like I was in on it from the beginning.
As part of my completely altruistic attempt to help the community and not at all in order to establish myself as a thought leader and burnish my reputation, I decided to write something about how great React is. But you know what, there is already a lot of stuff out there about the positive aspects of React that smarter people have written. I can’t compete with that.
However, as an excessively bloodthirsty person once said, the best defense is a good offense. Instead of trying to earn the community’s respect by defending or promoting React, I will instead viciously attack the alternatives. Let’s go.
Alternative 1: Being Tied Up In A Cloth Sack With 10 Cats
As an alternative to using React as part of my stack to develop a server-side rendered single-page application, I decided to be tied up in a burlap sack with 10 live cats.
I hit the first snag when the person I asked to tie me into the bag went to lunch without telling me. I should have explicitly informed them to stick around until the experiment was over, but in my defense, this wasn’t in the documentation anywhere.
The cats soon became restless. Some had recently eaten. Some had not. I am not sure which was worse.
Regardless, when I emerged from the sack, I was no further along in creating my benchmark to-do app.
Ease of Use: B+
Time to First Render: N/A
Alternative 2: Being Tied Up In a Cloth Sack With 200 Cats
The experiment hadn’t gone well but I felt a responsibility toward the community to see if this solution would scale.
Increasing the number of cats by a factor of 20 required buying a significantly larger sack. Fortunately AWS has hourly billing on sacks so I only needed to pay for the time I was in it.
An interesting thing is that past a certain critical mass of cats, not all of the cats were able to make direct contact with me. There is a maximum number of cats that can attack me simultaneously, which I estimated at roughly 50.
When I returned from the hospital, the test app was still not running. The solution seems to scale well enough in that zero multiplied by anything is zero.
Ease of Use: C
Time to First Render: N/A
Bundle Size: D
Alternative 3: Being Tied Up Alone In A Cloth Sack
The number of cats exceeded the quota for the Microsoft Azure free tier so I had no cat resources for my last test. Instead I spent an hour alone in the bag contemplating my career and my life.
Why was it so important for me to have others’ approval? Was there something missing in my own life, a hole I was trying to fill? Even if seeking validation was a perfectly healthy pursuit, didn’t my current approach — negativity, manipulation, hostility— demonstrate that I had twisted this normal human need into something poisonous that was eating me away on the inside?
After I got out of the bag I had 5 minutes so I git cloned somebody else’s demo, changed the history so it looked like I did all the commits, and ran npm install and npm start on it. It was pretty fast.
Ease of Use: A-
Time to First Render: 1s on 3G!
Hospitalization Time: 0 hrs