ReactJS is popular for 3 reasons. You take any one of those reasons away and it doesn’t get popular.
So here are the three big reasons…
It was made by Facebook.
It solves for SPAs.
Because it’s popular.
When ReactJS came out the most important reason that anyone cared is because Facebook made it. That gave it what Dr. Robert Chialdini calls “social proof”.
Facebook is one of the most important and valuable technology companies, so if it’s good enough for Facebook, a lot of other people will trust it (even if it sucks). This is one of the oldest and most important reasons for technology popularity. As the old saying goes…
“Nobody ever got fired for buying IBM.”
That was a real thing in the tech world for decades. Social proof.
So, Facebook makes ReactJS and it takes off like crazy because Facebook was using it!
If I had created ReactJS and launched it on my blog, nobody would have cared or used it. So, you don’t get ReactJS popular without it coming from Facebook.
That’s step one…
Step two is that it solved some major issues for SPAs (Single Page Applications).
At the time React came out, SPAs were the hot new thing because of backbone.js and Angular. I worked on some early SPAs and it became clear just how much of a mess they were.
ReactJS was a step forward at the right time. It organized some of the mess and people liked it.
You put out React at a different time, say 7 years before and it would have been a dud. Nobody was writing SPAs back then really and so it would have been a nothingburger type project. Maybe some cool bit of internal R&D or whatever.
But fixing Single Page JS Apps was a huge deal at the time. Still is I guess.
Which leads us to step three…
It’s now popular because it’s popular.
It’s the new jQuery. People now use ReactJS because other people use React and that kind of circular reasoning is good enough to keep it popular for a good long time.
You can hire React developers to work on React apps. There is a huge ecosystem around React. At this point React’s popularity is self-reinforcing the same way that jQuery was for a very long time.
Popularity has a network effect that creates more popularity. Once it hit a certain tipping point, React started to “eat the world”.
The most ironic part of all of this is that when it comes down to technical merits, React isn’t popular because of the technology. It is popular because of social proof, timing, and network effects. There are/were other technologies that could have been React and didn’t get big.
So, it’s important to realize that we are people are the reasons we do things rarely have anything to do with technology, even in the technology world. Go figure!
-Brian
P.S. The original version of this video was like 18 minutes long, the new version just under 8 minutes. Editing for clarity is useful I guess. :-)
Great piece!
We might work with computers, but we remain “human, all too human”; prone to the same fads and foibles as any other field.
I too recall, with dread, the twisted mess that was two-way data-binding. Relieved that AngularJS was quickly consigned to the dustbin of tech history!