This post is a response to the post that got some traction last week Stop Using React.
I feel like this post was a bit misguiding because it lists problems but no real solutions or alternatives.
Instead of focusing on the negatives, I instead would like the focus on the other side of the argument and the benefits you get from using React.
But let’s go back to the real world, companies solve more complicated problems and require more complicated solutions.
If you want to spend months wasting time recreating what React and its ecosystem provide out of the box just for MAYBE getting a couple of seconds of performance increases, please be my guest.
Once I finally bought into learning React, it took me about 4-6 months to find a job. Jobs with React in the requirements or recommendations are everywhere and for good reason.
I believe it is smarter for companies to use more mainstream technology so the onboarding process of hiring new developers into their companies isn’t a bigger hassle than it already is.
It’s hard to find good developers that meet your cultural and technical needs, so having a larger pool to search from is obviously going to make this process much simpler.
While I don’t always agree with the actions of "the company" itself, I find the React core team to be a great group of people who are passionate about keeping the library and its ecosystem great.
These "companies" continue to provide great free open source technology for others to use. Yes, this does mean sometimes you can get vendor locked but it is your choice to make.
In my opinion, the benefits HEAVILY outweigh the costs.
It’s overwhelming trying to fathom just how huge the React ecosystem is.
I never feel stuck when developing with React. If you come across a problem, 9 times out of 10 there will be a well maintained external library that solves it.
I have a post here that goes into some of the pros and cons of this so I won't list them here.
TLDR: Choose external libraries that are well maintained and backed by the community.
It's not a secret that adding React or any other major JS framework to your project will come with performance costs.
Especially if you show statistics of a bloated create-react-app that doesn’t include code splitting and other performance enhancements the performance metrics probably will suck.
There are multiple ways of not only improving these performance metrics but providing users with visuals that will occupy their time until the screen is interactive.
It’s easy to forget that React is built for and used in some of the most visited websites in the world.
Let's consider the hundreds of MAJOR use cases like Facebook, Uber, Netflix, Instagram, Salesforce, Medium, Reddit, AND WAY MORE that ship React to millions of users daily.
Don’t you think these companies have thought of these metrics? If the performance is so bad, why do they all use it? So consider the point it’s not React itself affecting your performance, it’s how the developers implement it.
I’ve been on the other side, I was a huge advocate of #UseThePlatform and not needing all that extra bloated JS coming from JS frameworks.
Ever head of Polymer.js? Probably not. I will admit I loved the technology and the ideas it originated from. I loved the people behind it who were passionate about it and used it internally at Google.
There was a lot of hype and initial backing but never really got off the ground. It never got anywhere close to the external features and community support that you would get by some of the other popular JS libraries.
I constantly found myself stuck in development looking for answers which is what eventually lead me to React.
I now have 2+ years of professional experience with React and I have not looked back since.
As always, if you like this post give me a follow here on DEV and on Twitter.