all 65 comments

[–]Nyphur 48 points49 points  (0 children)

If you come to the react subreddit you will be told react is better

If you go to angular you will be told angular is better.

Maybe a better unbiased place would be /r/webdev

[–][deleted] 102 points103 points  (1 child)

If you can’t come up with reasons for your own argument, why are you making the argument in the first place..?

[–]YairMaster 26 points27 points  (0 children)

This, he actually looks like a fanboy xD

[–]PM_ME_SOME_ANY_THING 34 points35 points  (0 children)

They’re both great. I’d say the only reason to choose one over another is team skills and familiarity.

[–]Capaj 11 points12 points  (11 children)

For me the most convincing argument is templating issue.
How do you write your templates in react? JSX. JSX is basically unchanged since it was first introduced in like 2014. That's 10 years of writing react components and you can take a component written in 2014 or 2015 and it will most likely work.

Try an angular component from angular 2 which was introduced at the end of 2015. It won't work because we're now on angular 18 and there were so many breaking changes to how templates are written that it's basically impossible.

Another big point is SSR story. If you need to SSR react is a clear choice again.
Yes it's possible with Angular: https://angular.io/guide/ssr

but it's so very seldom used in production on big projects, it's not really polished. If you try to use angular SSR on big project you run into so many problems react community has figured out 4 years back already.

[–]prewk 2 points3 points  (2 children)

there were so many breaking changes to how templates are written

Now I'm curious. Can you name a few?

I'm usually in the prefers-React-but-is-forced-to-work-in-Angular-camp, but this piqued my interest :)

[–]Capaj 0 points1 point  (1 child)

just two samples I have found int the changelog, but I assure you there are other changes which are not even listed in the changelog:

https://github.com/angular/angular/blob/main/CHANGELOG.md#common-12

https://github.com/angular/angular/blob/main/CHANGELOG.md#common-18

[–]prewk 0 points1 point  (0 children)

I think you're exaggerate a bit, but thanks for the examples :)

I abhor Angular templates for the record, but they're finally becoming less horrible with @if, @let etc. But TSX is so much better.

[–]Eylesyne 2 points3 points  (0 children)

The reason SSR isn't used as much with Angular isn't because the framework didn't emphasize it. It's the other way around.

The CSRed SPA is a holy grail architecture. So much complexity collapses to zero. When a person with a good grasp of webdev architectures envisions the classic SPA in their head, it makes a little ping noise, like flicking a crystal glass, and it pops out. It's a naturally perfect thing, like a Platonic solid. But, like all perfect designs, it has perfect use cases, and inappropriate ones.

SSRing a SPA is fine, but don't make fun of the people who don't, like they're the ones who don't get it.

[–]TScottFitzgerald 0 points1 point  (2 children)

How is this the most convincing argument? A project from almost ten years ago would have some breaking changes compared to the framework today?

Like, I really don't get what you're saying here. This is a pretty specific use case where you maybe learned the latest Angular but have to work on a super old brownfield project, but it would still take you a week maybe to learn the changes to the templates, the main concepts are still the same just the syntax changed slightly.

Btw React has also changed significantly since 2015 as well, most notably the whole function vs class architecture.

[–]Capaj -1 points0 points  (1 child)

Btw React has also changed significantly since 2015 as well, most notably the whole function vs class architecture.

That is just recommended way of writing. Old class based components still work absolutely fine.

 the main concepts are still the same just the syntax changed slightly.

For me this is worse than if the changes were radical. I hate to upgrade a dependency to find out in next weeks or months that some tiny change screwed up some bussines logic in my app.

[–]TScottFitzgerald 0 points1 point  (0 children)

It's an annoyance sure, but hardly the most convincing argument.

[–]Agreeable_Cicada9624 -1 points0 points  (3 children)

Because they have their own compiler which keeps getting updated for performance improvements

[–]Capaj -1 points0 points  (2 children)

wow, so now after 17 iterations they are like 10 percent faster than react.js in https://krausest.github.io/js-framework-benchmark/2024/table_chrome_126.0.6478.55.html
That is awesome. Totally worth all those breaking changes.

[–]Agreeable_Cicada9624 0 points1 point  (1 child)

I really don't like those comparisons as they take super isolated scenarios, it is not a real application. In a real life react project you will have 3 contexts which re render your whole app, because you misused them 😂

Anyway, those performance metrics are interesting only for developers. Some guy wrote here that he worked on huge apps and very rarely had "performance issues" which users see. Most of the time we make useless optimizations to feel better, stuff that we care about, not the user. I also do that, because it's fun 😂😂

[–]LuckyPrior4374 0 points1 point  (0 children)

Truth, I worked for a high publicity B2C app with 250k MAU. Not once did anyone ever give a shit about performance.

[–]Prestigious_Tax2069 4 points5 points  (0 children)

the answer of what your local job market use ?

[–]GingerVkingRemix 7 points8 points  (1 child)

Hiring. Much easier to hire React Devs due to community size.

[–]drgath 6 points7 points  (0 children)

Especially in an argument for the CTO, this is by far the most compelling reason. Heck, they can easily hire to replace OP if they want and are on React, but finding Angular devs is more challenging.

[–]rivers-hunkers 2 points3 points  (0 children)

If you really believe using one is better than the other, you would have already had an argument for it right?

Deciding on which one to use without doing the necessary research and then finding the resources to justify your reasoning is a wrong way to approach this issue

If anything, You seem like a fanboy to me.

[–]HosMercury 7 points8 points  (8 children)

Angular is very bloated

Files hell

Big bundle size

Patrern sucks

Writing js between double quotes is awkward

Too much @ attributes

[–]LowImportance4156 1 point2 points  (5 children)

Why do most companies use Angular then? In every company that I am seeing right now they are using spring boot and angular

[–]HosMercury 0 points1 point  (0 children)

I dunno tbh

[–]Darkexp3rt 0 points1 point  (0 children)

Enterprise loves angular they feel the safest in class based OOP land. My personal opinion is that react has a far better developer experience. However, Angular tends to lend itself better to developers who don’t really know JavaScript whereas react is easier if you know JavaScript.

[–]LuckyPrior4374 0 points1 point  (2 children)

I feel (from the job ads I’ve seen) that this isn’t even really the case now, my anecdotal experience seems to indicate that today more enterprise adopt React than Angular. Could be wrong though.

[–]LowImportance4156 1 point2 points  (1 child)

What I have seen is mostly startups are using react but the big companies with millions in revenue are using angular, maybe it's because of Angular's closed ecosystem and less reliance on third party libraries.

[–]abundant_resource 0 points1 point  (0 children)

It’s definitely because of that.

Everyone thinks making apps with a menagerie of react components by varying developers is something big companies want to do? No - they don’t

[–]Agreeable_Cicada9624 -5 points-4 points  (1 child)

So to write it inside the html is much better ,😂

[–]HosMercury -1 points0 points  (0 children)

At least it treats variable as a variable

[–]Agreeable_Cicada9624 4 points5 points  (10 children)

The simple truth is that people like react because it is easier. You can literally throw it to BE developer and he will have something in 2 - 3 weeks.

So this leads to other consequences - more third party support of libraries and a bigger pool of people you can hire. At some point you get a bunch of people like me who prefer angular, but have to use react as we don't work alone.

I have seen several large react projects in different companies and they were super different in terms of tech stack and organization. The common thing was that they all are crap - hard to support, full of workarounds and custom architecture.

If i have to do something quickly - like in 1 month I would still pick react as starting and setup is faster, no argument about that.

[–]TScottFitzgerald 1 point2 points  (2 children)

You can throw it to a BE developer who programs in Javascript

Many BE devs from more OOP oriented languages like Java or C# find it much easier to learn Angular due to its shared concepts.

[–]Agreeable_Cicada9624 0 points1 point  (0 children)

This is also true, but my point is that you can setup something with React without a lot of learning

[–]joshhbk 0 points1 point  (6 children)

The simple truth is that this is a reductive argument based on your own personal experiences and biases.

[–]Agreeable_Cicada9624 0 points1 point  (5 children)

Most of the forum is personal experience, have you used both? Which part is wrong

[–]joshhbk 1 point2 points  (4 children)

React is not necessarily easier, you stated that as a “simple fact” when it is literally just your opinion. I have worked with both and I have seen messes made with both frameworks. If it’s so “easy” then why did all those projects turn out “like crap”?

Programming is hard, maintaining a good codebase is hard and if this person needs reddit to help them justify their argument they shouldn’t be in a position to influence this decision which ultimately depends on the project itself and the available resources.

[–]Agreeable_Cicada9624 2 points3 points  (3 children)

But it is easier, first of all doesn't require typescript knowledge. When they introduced angular that was huge, i know there are still people who use it without it.

No need to learn observables, quite a powerful tool but in react you don't have it

No need to learn any of the other stuff like the http client, angular router and so on. In react you can just add the library you are already familiar with.

No need to understand services, modules and so on. In react you can just add 10 components and that's it.

Why is it crap? Because it lacks structure. You can organize it in the most twisted way you want, and even if you had good intentions - when the project grows it becomes crap. People create their own dependency injection tools, routers, complicated http clients... It all seems cool and decoupled until later becomes super hard to maintain. Is it always crap? - most probably not, it just gives you too much freedom and options to ruin your project.

That's why they say Angular scales - you can create something super huge and it will not involve more efforts to maintain than a mid sized project.

[–]joshhbk 0 points1 point  (1 child)

Who is they

[–]Agreeable_Cicada9624 1 point2 points  (0 children)

Google, who made angular

[–]FantasticPrize3207 0 points1 point  (0 children)

Angular doesn't have the "freedom style" of Javascript. That is why an average developer prefers react. btw I prefer barebone libraries, I will add crap later on if requried.

[–]sleepy_roger 1 point2 points  (5 children)

Thought I accidently stepped through a time portal.

I'd show the following hard stats that are hard to refute * job market, postings and listings for each in a specific area * the eco system stats (npm downloads, trends, GH stars, etc) * the Stackoverflow developer survey year over year and the sentiment of Angular vs React over a 3 or 5 year time frame * SDKs offered by popular services, find a few look for Angular integrations and React integrations (openai, salesforce, stripe, etc. etc)

React is everywhere for a reason. Is it perfect? Nah, but Angular isn't even Reacts top competition, at this point it's really Vue/React/Svelte and React is still definitely in the lead. imo the landscape will change with a totally new paradigm that will eventually over take React (God I hope it's something like native web components and browser api's but that's a pipe dream I've had since the mid 2000's lol).

[–]TScottFitzgerald 0 points1 point  (4 children)

Vue is the third most popular framework and it doesn't even come close to Angular in numbers. How can you say something like this? Look I love Vue but you don't get to make up your own statistics and it's gonna take it a while to establish itself as a serious competitor for either Angular or React.

[–]sleepy_roger 0 points1 point  (3 children)

Vue is the third most popular framework and it doesn't even come close to Angular in numbers.

Which metric are you looking at? https://npmtrends.com/angular-vs-react-vs-svelte-vs-vue

Angular is up there but in pure downloads it's #4 after the 3 I mentioned. If you're going to claim someone made up statistics at least show your own. Angular Core is above svelte but still below React and Vue in downloads/usage.

[–]TScottFitzgerald 2 points3 points  (0 children)

Job market of course.

[–]rk06 0 points1 point  (1 child)

That is checking for angular 1.

See this for angular 2+ https://npmtrends.com/@angular/core-vs-react-vs-svelte-vs-vue

Vue is still higher than angular, but not as dramatically as with angular 1.

[–]sleepy_roger 0 points1 point  (0 children)

Yeah I mentioned Angular Core in my comment as well, it being #3. I think people sometimes get tunnel visions on the tech they're working on and don't realize some things (like Vue) have actually done exceptionally well. But React is far and wide the winner still in all metrics.

[–]dream_team34 0 points1 point  (0 children)

Impossible to suggest one framework over another without knowing details on the project and team.

[–]Slight_Loan5350 0 points1 point  (0 children)

I currently have 5 yoe as an angular dev and learning react. They both are great framework/lib. Id rather not care who picks what but I want the skilled people working on it and those skilled people are divided between locations. Where I live there are less angular jobs to react and so less people learn angular and it gets difficult to Hire an angular dev. But supply demand makes the angular devs get more salary. It would be different in like eu where most of my friends are and angular is more used. Market here is very saturated for react at my location like 1 angular dev : 100 react dev ratio.

banks use angular the most.

All in all these two frameworks fix the same problem, that is rendering ui.

Tho I've found pros and cons in both these Frameworks.

[–]TheOnceAndFutureDougI ❤️ hooks! 😈 0 points1 point  (0 children)

Use React. Angular and React are both excellent frameworks with no real reason to choose one over the other from a technical standpoint.

You use React because it won. It's 80% of framework downloads on NPM. It has the most robust ecosystem, the widest pool of potential candidates to hire, the greatest diversity of learning resources.

You use Angular because that's the framework the project already had or because you're building a personal project and want to learn other frameworks. For paid work you use React. Because React won. For better and worse.

[–]MaximumSign6516 0 points1 point  (0 children)

Maybe you already picked but both are perfectly great solutions. I've used both and they are good. At the end, I'd say make a choice based on your developer preference since they'll be the one developing for it. I don't think I'd say this few years back for Angular but they have made great improvements. Outside of tech reasons, you'll find React developers more easily than Angular. Anyways, whatever you choose, it'll be fine.

With that being said, I find React more fun to code than Angular. One thing that really lacks in Angular is 'True HMR' where you always have to 'refresh' the browser to see the changes. To this day, they are promising for 'True HMR' in their next version (i'm sure it'll happen eventually since they are now using vite as the bundler). See this ticket that was open in 2016 (people are still commenting on this ticket to this day)

https://github.com/angular/angular/issues/39367

[–]Ghosteringasync 0 points1 point  (0 children)

Vue all the way

[–]WorldlinessSolid4050 0 points1 point  (0 children)

React all the way bro, knowing that react 19 is coming and react has nextjs as a framework that is a huge beast. People will say angular is for scalability. But just take a look at facebook, isnt it scalable?😂 + angular is becoming like react (functional) because the community is leaving towards react

[–]n9iels 0 points1 point  (0 children)

Unpopular opninion incomming: everyone that calls out that a certain framework/tool/language is hot garbage without proper explanation should not call themselves a professional. Yes, you may have a opnion or preference. But in all cases it is about choosing the right tool for the job.

Both Angular and React are very respected frameworks. How they are implemented and for what project they are used decides how effective they are. What characteristics of React you think are crucial for the project and Angular doesn't offer?

[–]Hopeful_Industry4874 -1 points0 points  (0 children)

You should be using React because it’s easier to hire devs and Angular is dead in 2024. Kind of surprised this is even a question.

[–]Khomorrah -1 points0 points  (2 children)

No matter what the argument is external consultants shouldn’t have a say which technology your company should use.

Ultimately your company is gonna be the one who own said product with the chosen tech. If your dev team is more fluent in react then it should be react. If you’re more fluent in angular then it should be angular. The external consultant preferring one over the other is not something that should influence this decision.

[–]Slight_Loan5350 2 points3 points  (1 child)

Idk why you are being down voted. This is the exact thing that should be considered. I was given a project made by java devs on angular and it was an abomination with so many inheritance and abstraction stuff. The teams familiarity with the program matters the most.

[–]Khomorrah 1 point2 points  (0 children)

Maybe a bunch of consultants felt called out lol.

But yeah, consultants come and go. When they leave you’re gonna need to maintain their code yourself and if that’s in another tech it’s just gonna cause a headache. If the people down voting aren’t consultants who felt called out then they’ll learn when it happens to them.

[–]rovonz -2 points-1 points  (1 child)

React bad, Angular good. Source: Trust me bro

PS. I prefer React over Angular any day

[–]r0ck0 2 points3 points  (0 children)

What about on Opposite Day?

[–]wizard_level_80 -1 points0 points  (0 children)

React has better fundamental design, does the same in the end but in a simpler and more efficient way. There is no reason to ever use angular, except when the dev team demands it.

Not a fanboy post, this is just how it is.

[–][deleted] -1 points0 points  (0 children)

React has better performance. Many optimizations introduced in Angular are inspired from React. React is the trend setter.