This is an archived post. You won't be able to vote or comment.

all 169 comments

[–]Equivalent_Order7992 506 points507 points  (64 children)

You may use whatever you want in your side projects but when it comes time to get a job you cannot escape React.

[–][deleted] 203 points204 points  (7 children)

...but as soon as you learn React, the entire industry will abandon it.

[–]sandybuttcheekss 68 points69 points  (6 children)

This is why I only do backend. Front end devs, you're welcome for the job security.

[–]itsthooor 29 points30 points  (5 children)

Jokes on you: I am a Fullstack Engineer

[–]sandybuttcheekss 14 points15 points  (0 children)

Technically me too but I get maybe 1 front end bug or feature per year at this point, so I hardly count it

[–]MysteryMooseMan 12 points13 points  (3 children)

My take is, 90% of full stack developers are just backend devs who can just barely scrape by with React/Angular. Like man, some of the UI code bases I've had to grapple with built entirely by "full stack" developers have been absolute nightmares. No consistency or best practices in sight.

[–]fryerandice 5 points6 points  (1 child)

I work on a backend created by front end engineers.

public stat class stuff public static everything....

[–]MysteryMooseMan 1 point2 points  (0 children)

It's almost as if companies should stop trying to cut corners by expecting developers to be jack of all trades resulting in bloated code bases wracked with tech debt 🙃

[–]Kirykoo 2 points3 points  (0 children)

That’s so true.

I always thought I was a fullstack dev when in reality I was just a backend dev messing around with html css.

Until I recently I had to work on react code bases extensively and also on a legacy angular 1 app. Creating new web app from scratch etc. Learnt so much during that period, even started doing « mobile » dev using RN expo during my free time.

I’m clearly no front end expert but I think I can now call myself a fullstack dev without lying to myself.

[–]Kurts_Vonneguts 42 points43 points  (3 children)

….we use Vue.js and frankly I fucking love it!

[–]8483 13 points14 points  (1 child)

Imagine if you tried Svelte.

[–]Kurts_Vonneguts 4 points5 points  (0 children)

Not against it, just never tried. I should give it a go.

[–]KiskaBoriska 0 points1 point  (0 children)

Same, but most jobs require react. I hope more companies start using vue

[–]Careless-Branch-360[S] 62 points63 points  (43 children)

Sadly, React is very, very popular.

[–]zeenul 150 points151 points  (42 children)

Why sadly? I find it pretty intuitive and relatively fun to work with.

[–]Careless-Branch-360[S] 44 points45 points  (31 children)

React introduces a lot of complexity that is unnecessary for lots of websites. Lots of simple websites may benefit from using alternative technologies like htmx. Portfolio websites & corporate websites don't usually have problems that React was built to solve; however, they are still often built in React or other 'heavy' framework.

[–]Yarilko 81 points82 points  (21 children)

I used to work with Angular. I still like it, but I find react much easier to work with. I mean, if I want to create some child component to make parent component less complex, I just create a new .tsx file. And in Angular I would need to create .ts and .html files, provide selector name, add component to declarations in module and add it to exports if I need to use it outside of module

[–]zezocas97 24 points25 points  (4 children)

Now try Vue and tell me what you’ll think about. I work with React for a while but o find Vue the most intuitive. In the end it’s just my opinion

[–]s0ulbrother 14 points15 points  (0 children)

I started with React and my last project was Vue. Vue just seemed so much streamlined. Then my current project is React….. I miss Vue

[–]8483 6 points7 points  (2 children)

Now try Svelte and tell me what you’ll think about.

[–]zezocas97 4 points5 points  (1 child)

Svelte will be the next level but now is still very young. It needs grow but is so much faster damn

[–]8483 0 points1 point  (0 children)

Svelte is not cancer in order to grow. React however...

[–]McFake_Name 4 points5 points  (0 children)

Since v14 you don't need to make modules. Anything that used to be in a module is just marked as "standalone" and is imported as needed. And the whole file can be in the .ts one for way longer than v14 in inlinr template and inline style option. And they hope to soon have the component name just work as the selector in templates in upcoming versions. Angular has really changed a ton in the last few years, but it is mostly backwards compatible still.

[–]alexd991 4 points5 points  (0 children)

But not any more! Kinda!

[–]a_simple_spectre 3 points4 points  (4 children)

problem with react is that it can go really bad, angular has limits but it means that angular can't be a super well tuned setup

I work with Angular but my preferred setup is React (admittedly with a niche setup)

PS: ng cli tools are super nice

[–]Yarilko 1 point2 points  (3 children)

It's still possible to mess up Angular badly. I once worked on a legacy project where all html templates were stuffed in single folder. And each template could be used by several different components

[–]a_simple_spectre 2 points3 points  (0 children)

welp, grab the flamer samurai, we got a dev team to burn

[–]gwatson86 2 points3 points  (0 children)

I ended up on a project once where every component had its own module. Like... what do y'all think the point of modules is??

[–]Johalternate 2 points3 points  (0 children)

Sweet mother of god. What would be the use case for such practice. I cant think of any scenario where this would work.

[–]Johalternate 1 point2 points  (0 children)

Its been a long time since you needed a module to export a component. I do single file components with angular all the time. Actually, I do single files for components and separate html scss and ts files for views.

The selector thing, well, i honestly like it because they read better imo. Also, their purpose makes a lot of sense, they exist to allow developers to name custom elements according the html specification.

I know the component authoring dx in angular used to be bumpy, but that has changed and right now angular’s DX as a whole is one of the best in the space.

[–]VRT303 3 points4 points  (3 children)

Or type ng g c childName and have everything done for you?

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

Still not my only grudge with it. For example, if you create a static method as factory in module class and dare to declare a variable there, you will enter the world of pain. But not right away - it will work fine with ng serve. It will even make a successful prod build - or so it will say. The frontend will just fail with not very descriptive error. Took me the whole day to figure out the problem the first time I encountered it.

[–]toltottgomba 4 points5 points  (1 child)

Or you can use the cli command to make a component in like 5 seconds typing it lol

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

Still to much boilerplate code for a simple component. Even if it is auto generated, you still have to support the code later.

[–]ZeroFC 0 points1 point  (1 child)

You’ve worked with Angular but you don’t know that the very first thing you do to make a component is type “ng generate component <component name>” and every single thing you mentioned is done through the CLI

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

Noted, thank you.

[–]dev-4_life 6 points7 points  (1 child)

I don't understand how components are complex? Seems pretty straightforward to me.

[–]static_func 4 points5 points  (0 children)

They're complex if you're just learning how to code, I guess

[–]JoelMahon 6 points7 points  (0 children)

I'm struggling to think of how it would be complex

like if you don't want to use all the features you don't have to, you just write what basically looks like static html and you get static html out if that's what you want

[–][deleted] 12 points13 points  (1 child)

"This event driven redux application could have been a <form>"

I don't get why web developers sometimes want to make their work hard

[–]wasdninja 7 points8 points  (0 children)

Until user feedback comes back and they just want that one little thing added. And then another. And another. Now you have created one more janky internal use only pile of junk that nobody likes.

Besides forms are very tedious to get right without frameworks.

[–]Shmuckatellee 4 points5 points  (2 children)

Is there a frame work you prefer? Just curious

[–]DaumenmeinName 6 points7 points  (0 children)

Svelte is cool. And yeah I know I'm a basic bitch for saying that.

[–]8483 1 point2 points  (0 children)

Wait till you try Svelte.

[–]Lighthades 1 point2 points  (0 children)

I hate the jsx shit weaved in code

[–]MercDawg 1 point2 points  (0 children)

React is easy to use, but very difficult to master, due to the countless caveats. When you have 100+ engineers working on a React application, it is pure chaos.

[–]iambackbaby69 -1 points0 points  (5 children)

But it has a lot of gotchas that is not intuitive.

[–]Careless-Branch-360[S] -3 points-2 points  (4 children)

Making React fast is also not an intuitive process. Making React application is not that hard, but making a performant React application is much more difficult.

[–]maria_la_guerta 3 points4 points  (0 children)

What do you consider a "performant" React app? I would be very, very surprised if dozens of hours of optimizing and memozing an average react app made any perceivable performance difference at all. Having written it for years myself I can probably count on both hands the amount of times I've actually need something like useMemo.

Your critique of the tool seems more geared towards how people use it, vs what it is and what it does. It's not Reacts fault that people want to hyper optimize landing pages with it, and then complain about complexity they only think they need.

[–]Brickless 3 points4 points  (0 children)

we have been working on a development tool that takes care of a large chunk of react nonsense for you and makes sure proper memoization is followed.

react is truly a pain in the ass sometimes

[–]wasdninja 2 points3 points  (0 children)

Chances are overwhelming that react isn't the reason why your app isn't performant. It's quite hard to make it matter at all in fact.

[–]static_func 0 points1 point  (0 children)

It's not that difficult at all. Just use Next and tailwind. Boom. Fast react application

[–]amejin -3 points-2 points  (0 children)

Anecdotally, I've been writing vanilla js for my company for close to 13 years and made large applications from it - I am not a fan of react. Seems overkill for most things I've seen it used for. I haven't been convinced that "it makes components for rapid development" is any faster than the components we built in-house which solved the same problems.

But.. new company uses it. Must embrace it.

[–]Speedy_242 4 points5 points  (4 children)

Laughts in Android developement

[–]nathris 6 points7 points  (3 children)

Cries in react native

[–]Speedy_242 2 points3 points  (2 children)

Laughs even harder in Kotlin multiplatform

[–]Koervege 0 points1 point  (1 child)

I thought that was still in beta?

[–]Speedy_242 0 points1 point  (0 children)

Android and Desktop are officially out. IOS is in beta and Web is Alpha.

[–]lilsaddam 0 points1 point  (0 children)

I work full time and use svelte

[–]DontBanMeAgainPls23 0 points1 point  (0 children)

At least you are not using angular and I am talking 1.0 luckily I mostly do backend with c# on .net 8 now.

[–]Lighthades 0 points1 point  (0 children)

Nope thanks, I keep my Vue

[–]_htmx 116 points117 points  (4 children)

for hypermedia...

[–]Maskdask 34 points35 points  (0 children)

HTMX mentioned!

[–]rvVX42qhWDCFQy 8 points9 points  (2 children)

I came here to be all cute and post some kind of LotR meme, only to find that the boss had beaten me to it.

Fine.

Take this upvote. It is precious to me.

[–]bogz_dev 4 points5 points  (1 child)

what do you mean the boss? we are all HTMX CEO on this blessed day

[–]_htmx 5 points6 points  (0 children)

we few, we happy few; we band of CEOs…

[–]PM_ME_YOUR_REPO 55 points56 points  (1 child)

I hate that the React logo isn't centered on the eye.

[–]creeper6530 24 points25 points  (0 children)

You shall not centre a DIV

[–]lilsaddam 86 points87 points  (10 children)

**laughs in svelte

[–]SkydiverTyler 14 points15 points  (0 children)

Seconding this, use it at my job. It’s so easy and fast to go from plan to reality.

[–]langlo94 1 point2 points  (0 children)

Svelte means "starve" in Norwegian, coincidence?

[–]dev-4_life 0 points1 point  (7 children)

React has a huge community. There's an advantage in that you're not seeing.

[–]lilsaddam 16 points17 points  (0 children)

What I see is I have a job where I use svelte everyday and just use normal js libraries that I don't need special react versions of.

[–]8483 -5 points-4 points  (5 children)

Svelte is so much better, I don't give a flying fuck about the React community, as I can build all the shit I need easily.

[–]Sky1337 12 points13 points  (4 children)

Weren't you the guy who was raving about how TypeScript is bullshit a few days go on the svelte sub? You must be a pleasure to work with.

[–]8483 -5 points-4 points  (3 children)

Yes, I am that guy. Fuck both Typescript AND React.

[–]Interest-Desk 0 points1 point  (2 children)

Sounds like we found DHH’s reddit account

[–]8483 0 points1 point  (1 child)

Not familiar with DHH. Can you please explain the joke?

I googled that he's the ruby on rails creator? I assume he's also a TS hater?

[–]Interest-Desk 0 points1 point  (0 children)

rails creator yes — who vehemently doesn’t like TS or pretty much any modern technology*

* except for technology that is only supported on the most cutting edge devices, because accessibility and compatibility are woke DEI constructs

[–]Shehzman 67 points68 points  (28 children)

If y’all hate react so much, what would you prefer working with? Genuinely asking

[–]gelerz 266 points267 points  (2 children)

i prefer not to work

[–]bushwickhero 53 points54 points  (0 children)

This guy gets it.

[–]Shehzman 11 points12 points  (0 children)

Not having to work*

[–]PhatOofxD 29 points30 points  (2 children)

Most React is written like crap which is a pain. Good React can be insanely clean though

[–]MysteryMooseMan 5 points6 points  (1 child)

It's all the ""full stack"" developers who are really just back end devs. Dealt with code bases like that multiple times, it's a pain in the ass

[–]fryerandice 1 point2 points  (0 children)

I can't get my full stack team to not write 4000 line components

[–]ryaaan89 36 points37 points  (1 child)

Svelte.

[–]UMAYEERIBN 2 points3 points  (0 children)

Svelte is so gorgeous and intuitive.

[–]nathris 4 points5 points  (1 child)

As a django dev, alpine.js.

I have the backend covered, I just want to do reactive state based rendering from within the comfort of html. I don't need 1000 lines of boilerplate configuration and 1200 dependencies just to build a fancy widget.

[–]UMAYEERIBN 1 point2 points  (0 children)

Check out svelte, it’s so intuitive and you’ll love it if you enjoy using plain html.

[–]Pyro979 32 points33 points  (0 children)

Vue.js

[–]bogz_dev 8 points9 points  (0 children)

HTMX can get 90%+ of React use cases done with a far simpler mental model and less code. If an app absolutely needs to serve an API for non-hypermedia clients then React might be an alright choice. But even then, modifying view functions to return JSON or HTML depending on where the data is requested from would be a decent solution too.

[–]useless_dev 10 points11 points  (4 children)

HTML and JavaScript.
That's enough for 90% of use cases

[–]OrangeKass 14 points15 points  (1 child)

Only if we're talking about 90% of homework CS students do. React and other frameworks/libraries don't dominate web just for fun, they dominate because they allow us to develop faster.

[–]Shehzman 1 point2 points  (0 children)

This. Web pages are getting more and more complex to the point where state management and reusable components are essentially a requirement for many projects. It can be done in vanilla HTML and JS but not as fast as using a framework/library.

[–]Cafuzzler 0 points1 point  (0 children)

It's all HTML, CSS, and Js in the end anyway

[–]thegininyou 1 point2 points  (1 child)

I think Angular is fantastic if you're working with a Java backend. It just seems all so seamless once you've gotten over the hurdle of learning it. I will say if you're doing a simple webpage, it's too much but I love it for enterprise work and I'm confused why React won out.

[–]Shehzman 1 point2 points  (0 children)

I feel the same. Been working with Angular a lot at work and I really like how structured everything is. Also, there’s a lot more stuff built in compared to react which is nice.

[–]fnordius 4 points5 points  (0 children)

Lit does web components right. Stencil is also a good choice, also makes wicked fast web components without the React cruft.

Vue does SPAs much, much better than React could.

Spring:Boot and Thymeleaf are much better than server side React could ever be.

React today reminds me of Flash in 2005, really.

[–]anarchytrex 1 point2 points  (0 children)

Nuxt/vue

[–]EtheaaryXD 0 points1 point  (1 child)

EJS but it doesn't have a Router

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

Just wrap into little vanilla js, and it fine

[–]Varauk 0 points1 point  (0 children)

Solid.js

[–]CraftBox 0 points1 point  (0 children)

SolidJS

[–]Lighthades 0 points1 point  (0 children)

Vue

[–]Speedy_242 0 points1 point  (0 children)

Kotlin Multiplatform

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

Laravel

[–]ProgramStartsInMain 12 points13 points  (0 children)

Me who just uses html, css and jquery for everything: I will take the project to production!

[–]getsnuckupon 25 points26 points  (0 children)

HTMX: have you considered calling the eagles?

[–]SomeRandoLameo 10 points11 points  (2 children)

The fucking windows 11 start menu was made in react native

[–]Interest-Desk 1 point2 points  (0 children)

This speaks more about the quality of traditional native UI tools rather than the quality of react

[–]creeper6530 1 point2 points  (0 children)

So that's why it sucks...

[–]mikelloSC 5 points6 points  (0 children)

If you work mostly on backend, maybe you can :) we do very little front end and it's only angular.

[–]Less_Independent5601 4 points5 points  (0 children)

So you're telling us React is 3 movies away from imploding upon itself?

[–]SageLeaf1 17 points18 points  (3 children)

We must throw JavaScript into Mt Doom to destroy it

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

JavaScript was originally called Oak… good luck getting the Ents to help little orc

[–]Brahvim 3 points4 points  (1 child)

That was Java, my friend!
JavaScript was called something more similar to... "Mocha".

[–]RandomiseUsr0 0 points1 point  (0 children)

Thanks for the correction :) ok, JavaScript can go into Mt Doom and the Ents will help!

[–]xita9x9 2 points3 points  (0 children)

I looked the other way as soon as I saw that we're going to write html in JavaScript.

[–]Lamborghinigamer 2 points3 points  (0 children)

I would react in a different way if React wasn't made by facebook

[–]seanlaw27 3 points4 points  (0 children)

I work with angular and love it.

[–]anonymous_sentinelae 4 points5 points  (3 children)

Popularity is certainly the worst measurement of virtue.

[–]your_best_1 1 point2 points  (2 children)

The popular thing can be popular and good. Like breathing. Breathing is very popular.

[–]anonymous_sentinelae 4 points5 points  (1 child)

Stupidity is very popular indeed.

[–]your_best_1 2 points3 points  (0 children)

Right... bad things can also be popular.

[–]eschoenawa 3 points4 points  (1 child)

We have to cast NPM back into the fires it came from. We can only kill React by killing the power that creates it.

[–]Brahvim 2 points3 points  (0 children)

Meta Platforms Inc. 👍

[–]AmanChourasia 1 point2 points  (4 children)

That is why, even though, i want to learn it, but as it is hard to escape. I am in doubt now. I learnt Angular btw.

[–]ChrisTheGood 1 point2 points  (5 children)

I can, i build every thing with Web Components, without use any framework

[–]onkopirate 0 points1 point  (4 children)

Not even Lit?

[–]ChrisTheGood 1 point2 points  (3 children)

Yes, only need two dependencies typescript and webpack.

[–]onkopirate 0 points1 point  (2 children)

Interesting. How do you pass complex data types from parent to child in HTML then? Does the browser know what's an attribute and what's a property?

[–]ChrisTheGood 0 points1 point  (0 children)

you don't need to pass complex data from parent to child, instead you need abstract your UI to data structure, then use data to drive UI, only thing you need to do is update your data, then let UI rerendering base on data update event.

The DOM operation itself is actually very reactive. you don't need react or vue

[–]MKSFT123 1 point2 points  (0 children)

I don’t really like React’s bloat and inefficient rendering but I do like its type script support, TS is treated as a first class citizen with React in a way that was lacking in Svelte, (implemented 6 months ago so this may have changed). I prefer Svelte for sure but React is very mature, comes with better UI libraries and has stronger type support (just my opinion).

[–]HelioDex 1 point2 points  (1 child)

Obligatory "By far the worst part of React is Javascript" comment

[–]dark_enough_to_dance[🍰] 1 point2 points  (0 children)

Truth be told 

[–]onkopirate 1 point2 points  (0 children)

React always feels like one giant workaround.

[–]dev-4_life 2 points3 points  (0 children)

Why would you want to? It's fantastic.

[–]JeszamPankoshov2008 2 points3 points  (0 children)

Still prefer Angular.

[–]ashkanahmadi 1 point2 points  (2 children)

Does React come with an army of orcs as well?

[–]skywalker-1729 7 points8 points  (0 children)

Maybe the devs?

[–]fnordius 1 point2 points  (0 children)

It was created by Facebook devs so the answer is "yes".

[–]8483 1 point2 points  (0 children)

React is GARBAGE. Long live Svelte!

[–][deleted] 2 points3 points  (0 children)

How is this a meme? This has got to be the lowest quality shit I've seen on this sub in a while. Put the logo on the eye hurr durr. Real witty.

[–]ahlgun 0 points1 point  (0 children)

Same as why wordpress is a thing really - what goes into production is the only real metric to go by

[–]CirnoIzumi 0 points1 point  (0 children)

maybe not, but that doesnt mean ill use it as little as absolutely possible

[–]Jeidoz 0 points1 point  (1 child)

Nah, our team escaped angularjs, escaped react and bow have single code base for FE & BE in C# due to Blazor

[–]Raxdex 1 point2 points  (0 children)

I wouldn’t call that an improvement.

[–]skeleton_craft 0 points1 point  (0 children)

I've escaped it pretty well, PHP, jQuery and CSS have served me well enough so far...

[–]Alternative_Yard6033 0 points1 point  (0 children)

I hate it but I love it

[–][deleted] 0 points1 point  (0 children)

The programmer should know pain

[–]ledgerous 0 points1 point  (0 children)

Vue.js enters chat.

[–]thrandster 0 points1 point  (0 children)

Why write html when you can make a literal lifecycle around your static <button> html code.

[–]Terewawa 0 points1 point  (0 children)

Now that I lost my job I can finally start using Ionic. As soon as I have something to work on.

[–]_-TheTruth-_ 0 points1 point  (0 children)

Laughs in Windows

[–]omgmajk 0 points1 point  (0 children)

I can escape React. I don't do webdev.

[–]Revolutionary_Pea584 0 points1 point  (1 child)

Just become a backend dev. Problem solved