TechU Solutions

View Original

Why React is Overhyped

I’ve talked about React in the past, and I’m bringing it back up again. React's popularity is an issue I’ve brought up with several other points, but I want to focus on the overhyped nature of React specifically. I want to talk about how React got to be overhyped, what keeps it that way, and why that’s such a bad thing. Ultimately, React’s inflated popularity is hurting a lot of front-end developers and companies using it.

The Numbers

Stack Overflow Trends

Let’s have a peek at the numbers. I looked at the Stack Overflow trends for React, Angular, and Vue. The trend graph basically looks at the number of questions asked about each technology through time. We can see that React questions really picked up over 2015–2016, and it hasn’t slowed down much since. On the other hand, we can see that Angular has a giant spike and then taper off. With Vue, we can see that it always has lower numbers than Angular and React and doesn’t have as large of a rise. Keep in mind that this is the number of questions being asked about a certain technology. This is an important distinction that will come into play later.

How React got Overhyped

The first and most crucial reason React has the hype is that Facebook created and promoted it. Let’s not underestimate the kind of reach Facebook has when promoting things that they make. Right away, we can see that it started with inflated popularity because it came from Facebook, and they’re promoting React. That’s not to say that React is completely undeserving of being popular but that it started being artificially popular. If Any other company or individual had released react, I would argue that it would not have caught traction, and it certainly wouldn’t be where it is today.

What Keeps React Popular

React was released in 2013, and it’s still the most popular JavaScript library in use today. We know that it started popularly, but what keeps it popular? Well, the field of software development has grown considerably since 2013. One facet of React is that you don’t really have to know much more than some basic JavaScript to get started with it. Its simplicity makes it incredibly appealing to new developers. With the field growing so much and more job openings for software engineers, more people are getting into it. Since React is already popular and appealing to newcomers, most newcomers start with it and don’t move on to anything else.

Now we can see a cyclical pattern emerge. It started with Facebook’s promotion and the fact that it’s easy for newcomers to get started. With an influx of newcomers, more and more people start to use it, and that’s where the circle starts to go back around. None of these things indict React itself, just history and explanation of its rise to popularity.

Why React’s Popularity is Bad

Now that we know how React got too popular and why it’s staying popular, why is that such a bad thing? It’s actually because of something I had said earlier. If you ask any newcomer to the front-end development world what they’re using, they’re likely going to say React. The whole reason React is as popular as it is due to the large beginner community who generally don’t learn anything else past React. How do I know that React is more appealing to beginners? This is where that graph I showed earlier comes into play. Beginners generally tend to ask more questions (which makes sense), so it would stand to reason that if something has a large beginner community, there would be many questions about it. This is demonstrable evidence based on the Stack Overflow Trends. It’s also evident that the cyclical pattern I described is in full force based on the slope of React’s line as it continually keeps spiking upwards.

The Management Issue

Now to one of my main issues. One reason this artificial popularity is so harmful is because of the effect it has on hiring. What happens is that companies start imposing React on developers that work there because there are so many React developers. This goes into non-technical people making decisions over the developers' technology stack, which I wrote about last week. Personally, I am a developer who has worked with React and Angular in a professional setting. I’ve seen the strengths and weaknesses of both technologies, and I can properly assess when to and not to use one or the other. However, my experience seems not to outweigh the pure popularity of React.

This is a problem that I keep bringing up because I feel as though it’s important. Unfortunately, popularity keeps being conflated with correctness. Just because a lot of people are doing this thing means I should be as well. This line of thinking is incorrect, and it can be really harmful to your goals and the goals of your business and development team.

The Silver Bullet Issue

I mentioned beginners being the primary users of React. It’s also important to understand that React is (usually) their first introduction to libraries and frameworks. I also mentioned many of them don’t venture out beyond that. This leads many developers who are growing into their careers to think that React is now the silver bullet, the solution to every problem. However, that couldn’t be further from the truth. I’ve written about this before, should have a much smaller scope of appropriate usage. I’ve written about this before, so I’ll reiterate the point, React is terrible to use for large complex applications, which is most of them. It’s fine for small applications with small teams, but for large complex applications, it takes so much more work and effort to write and maintain a large complex React app.

When you have all these people and companies thinking that React is the answer to all your woes, it causes you to pick the wrong tool for the job. The thing about React is that it is simple to start with, but it’s MUCH harder actually to do right. I would argue that to create a good complex React app; there are so many factors you have to consider to make it scalable and maintainable. This means you have to have a deep fundamental understanding of how JavaScript works and how the React library works. You don’t get that when you’re starting, and it leads to a lot of terrible React developers making really poorly constructed products.

The Script Kiddie Issue

I talked out this cycle of React appealing to beginners and then more people coming into software development, so there are more beginners, and React keeps getting cycled around like that. It goes around like wildfire, and there are so many terrible React developers. They're bad to give them a little credit because they’re new to React and development in general. As I mentioned about the Stack Overflow trends graph, there’s a really steep incline in questions about React. We know beginners usually ask more questions than experienced developers, so we can conclude that React has a large beginner community. We also know that there are many job openings for React developers, and they keep getting filled with these beginners.

This ends up confirming to the companies that “oh, we need to use React because it’s easy to hire React developers and it’s the right solution to every problem.” This happens without a thought to how React is being applied to the issues at hand. So now, for more experienced developers, there is an extra burden to monitor these script kiddies when they come into your team. You have to spend more time reviewing their code and making sure they’re following standards and best practices. I have experienced this quite a few times, and it gets really tiring. It becomes a drag on your velocity, and when you’re not allowed to use frameworks that would actually automatically enforce standards using a CLI tool, there’s no backup.

Closing Statements

To wrap everything up, I think the meteoric rise of React has ultimately been an awful thing for developers in general. React is appealing to newcomers to the development community but requires tremendous skill to do well. I think that’s unfair to new developers to, essentially, catfish them with a library that seems easy to use but actually requires much more of them. It makes many people think they’re doing well with React because they can build things with it without fully understanding everything they need to do this at a higher level with an experienced team. It doesn’t prepare you for how complicated it can be to implement React properly. The companies don’t help when they mandate React be used for all projects without a second thought to who they’re hiring to write this code and how hard it can get to maintain.

These issues all stem from the fact that React was propped up by Facebook, which made it super popular very quickly. With its meteoric rise and continued popularity, these issues will only get worse. I think everyone needs to think more about the proper application of whatever they’re trying to use. I also think that people should branch out more when it comes to their knowledge base. If more companies would give their development leadership the ability to make decisions about technology stacks and more developers weren’t so afraid of expanding their knowledge base, we would have much better applications being written. Applications would be easier to maintain and scale, but there’s a lot of work to do to get to that point.

If you’ve enjoyed this article I’d love for you to join my mailing list where I send out additional tips & tricks!

If you found this article helpful, interesting, or entertaining buy me a coffee to help me continue to put out content!