Why i don’t think React is necessary

Sebastian Hines
3 min readSep 7, 2021

This is going to be my very opinionated, somewhat ranting write-up of why i don’t think React has a place in the world of front-end frameworks, why i personally hate it — and why i prefer either Vue or Angular instead.

This is not, as such, intended to tell you or anybody else that they should not use React. I know people love it, it has a bigger community than Angular, it’s backed by Facebook and i know that it will continue to be used again and again in many projects to come.

The lay of the (framework) land

As a professional developer, utilizing javascript for all sorts of development, the land of frameworks is sparse and dominated by the three big frameworks of our time; Angular, React and Vue.

Every tool has it’s purpose, and for me as a developer i tend to develop two types of web-applications; minor “applet” style apps — such as a reactive form on a static webpage or maybe even updating a legacy site, piece by piece. This is what Vue was made for — and it works very well.

The other type of application are large enterprise style web applications. Now im sure React is perfect for any job you want to use it for — that’s pretty much what i keep being told, however — my own experiences have shown me that every React project is different. There are no clear guidelines or conventions when writing code and if there is — it is community taught and not something that comes natural to me as a corporate developer. This means i have seen countless React projects that approach things differently — in the company at which i work we have many, many projects (we are an ok sized comany at about 3500 people) that use React — they all start from scratch and all approach things differently.

Why Angular is better than React (in my humble opinion)

So — here is the extremely black/white super opinionated take on this.

While i have seen as many Angular projects, as React — that approach things differently — the structure for the Angular projects are enforced by the boilerplate generated by the CLI as well as the way Angular is made to be used. I read somewhere once that

You can do anything in Angular, you just have to do it the Angular way

This. This might be offputing to some. Conventions being forced upon you, but for me, as a developer that typically takes part in smaller or larger teams. This is gold. This guarantees at least SOME sense of consitency when dealing with multiple projects based on Angular. Say i come to a new project, i am asked to clear up several bugs in the front-end and develop a new feature. Because Angular forces a particular structure and code style. It will not take me a long time to get up to speed on this particular project — and i can spend my time dealing with domain-specific issues instead of tooling and framework — because we also follow the Angular way — Handover of our projects to other developers or client in-house teams tend to go smoothly — the general structure is known before hand.

On the other hand, most React projects i have seen follows the structural principle of; “who-ever was in charge that day“ — this might not be an issue in smaller companies with 2 or 3 dev teams — but trust me, in a large corporation — many many hours are wasted dealing with these issues.

Also, setting up shared code libraries is a breeze and, if you DO follow the Angular way — creating components that can basically drag and drop between projects becomes quite easy.

In conclusion

Every tool has its trade — but i do not see what particular problem React solves. Vue is by far the easier of the two when it comes to implementing a gradual transition of a legacy website or small webcomponents. Angular is superior to React in its enforced structure — for me at least — when it comes to enterprise applications.

Agree, or agree to disagree? :)

--

--