John Woodruff

Stop Fighting About JavaScript Frameworks

javascript
frameworks
stateofjs

The State of JS survey is live, and with it comes the usual tweets about this or that framework "dominating" others, one or another "has been destroyed", it goes on and on. Even the survey itself says:

The front-end remains the key battleground for JavaScript. But now that the dust has cleared, it's starting to look like only two combatants are left standing...

It's disappointing to say the least that the JavaScript community that I love so much has turned into one giant argument about who's better, cooler, in other words, the "winner".


React vs Angular vs Vue

React vs Angular vs Vue vs... #

This is the tale as old as time. I can't tell you how many articles I've seen and read about why React is better, Angular is better, Vue is better, Vanilla JS is better, etc. There is the full spectrum of these posts. From being very fair and open minded by addressing the best and worst of each framework and inviting the user to decide what works for them, to being downright biased and essentially saying Framework X sucks and Framework Y is the best, with little offered for reasoning.

All this serves to do is foster a culture of superiority and gatekeeping. You're not a real developer because you use the inferior framework. Unless you're using the hottest framework, you're not worth hiring at my hip and happening startup.


Developers

It Hurts Everyone #

Saying and promoting ideas like this is damaging to the community as a whole. Take the State of JS survey for example: The number of respondents was approximately 20,000 developers. That's very small representation compared to the industry. Stack Overflow's survey had over 100,000 respondents.

There is also something to be said about the fact that the makers of the survey are React library authors with heavy React developer followings. So naturally simply due to the audience they cater to, there will be a hefty amount of React developers responding to and sharing the survey amongst themselves.

The problem with this is that this survey is being presented as a definitive view of JavaScript in 2018. With such a limited and focused sample size, the results are likely skewed towards certain groups. This is problematic for developers who take those results and show them to their boss saying "look at these results, Angular is dead, we need to migrate all of our code to React or Vue". I've literally had discussions with people to that effect. It's not based on what the best option is, but rather the most popular according to one small survey or blog claiming to be the definitive view of the JavaScript world.

This is harmful to everyone, because companies and developers will spend a lot of time doing what someone views as the most popular thing to do rather than the option that might be best for the company. For example, rewriting an app from Angular.js to React despite the fact that an Angular.js to Angular transition may be faster and easier due to the concepts and fundamentals being similar. I've also heard of a developer being hired at a startup and telling them that Angular is the best framework and they need to rewrite their entire React app in Angular, costing months in time and money.


Holding Hands

Stop the Hot Takes #

I'm personally over all the pundits proclaiming why one framework is better than another, or declaring a winner of the "framework war". It is, in my opinion, a form of gatekeeping that we as a community don't need. Why does there have to be a war? I would argue that there's not, or at least shouldn't be, a war. Especially in 2018, when React, Angular, Vue, Aurelia, etc. are all excellent modern frameworks with amazing reasons to use each.

Use what makes you happy. If it's React, Angular, Vue, something completely different, if it is enjoyable and helps you to be more productive, then it's a good thing. Let's please stop using these surveys and articles to try to convince everyone else that your choice is right and theirs is wrong. Let's love each other and love our own choice.