Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

It may be due to the codebase I'm working on, but I doubt it since I assume I have decent colleagues (I'm in a FAANG), but I just fucking hate React.

I spent years working on Angular before changing team, and there everything makes sense instantly. It's just normal programming, normal MVC, normal everything, and you basically only need to learn about the syntaxic sugar for data-binding and stuff like this.

In React it seems like they reinvented the wheel and they thought a circle was too easy so they made it in a 5 dimensional shape. You have 18 ways of doing anything and they are all deprecated, your logic and your template are mixed which turns your application into an unreadable mess, every single aspect is overengineered to death, requiring you to call useState() to have a fucking boolean that you can update, everything is stored in a variable or declared as a function instead of in classes, etc.

I'll have to give a try to React from scratch where it's not on an existing codebase, but I don't think that's the real issue.

It's been more confusing for me to go from Angular to React than to learn a functional language after years working with imperative ones.



Funny because every time I need to work on anything angular I'm constantly thinking how over-engineered everything is and how much simpler it is in react.


Sure, if you have only a very basic 1 page website with no routing, no backend calls, no components to reuse, etc. React will be a simpler and better choice.

If you have anything more complex than that, like a real web application, Angular is an actual frontend framework, where React is just the modern jQuery.

Angular is for software engineers, React is for web developers.


Thanks for confirming Angular is over-engineered.


Have you read the article?


I have an Angular 1 app I built in 2015 that's still in use today. Went back to it and it was refreshing in so many ways.

A lot of people really hated it but it's opinions and structure helped promote a more maintainable codebase. I don't miss tuning watchers and the digest cycle though.

All the React projects I've inherited are nightmares. I'm comfortable working on them but they are harder for junior and mid-levels to hop into.

The number of ways to do things in React is a benefit and a curse.

We had so much prop drilling early on. The idea that components should only have what they need is nice, but you need some data to flow to children. And when the UI needs to change on a prop drilled codebase, holy shit, refactoring is a major PITA.

Luckily we have some alternatives to avoid the prop drilling but it's so fragmented.

If something like Mobx was just part of React from the beginning, the ecosystem would be in better shape IMO.

I identify with a lot of the issues the author stated.

React is just at that place where you need a TON more discipline to produce quality code in a team environment.

And because of that, there will be a mountain of shitty codebases in React to inherit, cleanup and maintain over the next 5 years.

That being said, I'm still a big fan of React and Vue though.


Have you given a try to Angular 2 and above?

Angular (Angular 2+) is honestly lightyears ahead of what AngularJS (Angular 1) was, so if you already preferred AngularJS over React, Angular will be a walk in the park.

I feel like a lot of people who talk about Angular being bad are actually talking about AngularJS and have never tried the newer versions.

For collaboration and onboarding new people, it's hard to do things badly in Angular, and it's easy to refactor when they are done badly, so it's a great choice.


Have not tried it yet but curious thanks for the info.

I kind of just shifted into Vue and then React after Angular 1.

Most of my team has never used Angular and the components available for React are so nice I'm a little hesitant to invest in Angular.

I also have yet to inherit an Angular codebase so I have to weigh the time investment.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: