Remix.run Logo
friendzis 8 hours ago

In what way React is anywhere near well designed?

Look over quick starts of React and Angular, for example. One is a well structured application, the other is a spaghetti script, all held by magic and conventions.

If you recall the (in)famous "PHP: a fractal of bad design", React basically ticks every box in this rant and then some. It's not surprise knowing it's origins, but still.

The reasons React has got traction are the same reasons PHP got traction or web frontend dev in general and have nothing to do with being well designed: it tries to "render" something visible, which makes early adoption much more interactive (hey, I've changed one line and now instead of 15 errors I have 25 different ones and the text moved!), however at the cost of any shot at long term maintainability. Before someone comes and tells me React is just a tool and you can make good products with any tools I encourage you to look at all the headliner star projects by Meta: if they cannot make websites in React at least somewhat functional and stable, no one can. Google headliners built with Angular, for all their warts, are at least for the most part functional.

codethief 5 hours ago | parent | next [-]

> If you recall the (in)famous "PHP: a fractal of bad design", React basically ticks every box in this rant and then some.

I dare you to walk us through that blog post and explain to us in detail how React "basically ticks every box".

Not only does React not compare to PHP in the slightest, I also find this comparison rather wild because other web frameworks rank so much higher than React on the "quirks & arcane code you need to understand" scale. (I have PTSD from Angular and Vue in particular.)

javcasas 7 hours ago | parent | prev | next [-]

Angular: Where is the code for the <foo/> component that is used here? Anywhere in the codebase, maybe defined multiple times, depending on module configuration one or another may be used. Good luck finding which one.

React: Where is the code for the <Foo/> component that is used here? Either defined in the same file or imported, like any other javascript thing.

But React is the crazy one.

majora2007 2 hours ago | parent [-]

In modern day Angular, everything is standalone, so the module issue doesn't apply.

I've been coding in Angular since 2 and I have never had a duplicate component with the same name. Almost every Angular app uses nearly the same folder structure.

watwut 8 hours ago | parent | prev [-]

After working with both, React is massively more readable and easier to work with.

InsideOutSanta 4 hours ago | parent | next [-]

I guess it's all subjective, but I'll take learning a new Angular codebase over a React one any day of the week and twice on Sundays.

That's simply because you learn Angular once, and then you learn the half dozen things that can differ between projects, and then you know how it works. For React, every project has its own stack and conventions.

I probably won't disagree that the ceiling for a good React project is higher than that for a good Angular project, simply because you have more freedom to make good decisions. But in the same vein, you also have more freedom to make bad decisions, and most people tend not to be very good at making these kinds of decisions.

lomase 7 hours ago | parent | prev [-]

After working with both, Angular is massively more readable and easier to work with.