4 ms·
Every time I have to use React, I'm astounded at how convoluted web app development still is in 2024. Am I out of touch or is it really that bad?
by phito 2y ago
Every time I have to use React, I'm astounded at how convoluted web app development still is in 2024. Am I out of touch or is it really that bad?
- pjmlp 2y agoYou're right, I have to deal with that world instead of .NET and Java, because of many enterprises products now only offering React based SDKs.
- crooked-v 2y agoIf you don't want the fancy stuff, just use react-redux and build an SPA. It gets complicated past that, but that's because trying to mix streamed server generated HTML and client rendered HTML (and often one and then the other in the same piece of UX) is hard to do.
- deergomoo 2y agoEveryone in JS-land seems to have an opinion about how tooling should work, and because the platform (well, Node at least) provides no opinions of its own, everyone goes ahead and implements it. So you end up with a thousand-and-one competing bundlers, linters, formatters, test runners, etc, with all the associated churn and cost in learning it all and getting a new project up and running. Compare that to something like Go which includes all of that stuff out of the box—by and large everyone has just said "yep that seems to work" and stuck with the defaults. I think the second problem is the browser still fundamentally wants to be a displayer of documents. Yes there has been continued additions of new APIs over the years that have made the SPA pattern much easier to work with, the fact of the matter is you can still save yourself about an order of magnitude of complexity if you can get away with your app being an "old school" multi-page affair.
- mirekrusin 2y agoYet I wouldn't call gui ecosystem in go a success like js'es is.
- jpk 2y agoIs that a fair critique given that GUI applications aren't really Go's target market?
- zdragnar 2y agoIt just demonstrates that there is a lot more natural complexity in writing UI than CRUD endpoints or small services. Sure, the browser environment (DOM etc) introduce plenty of problems, but it's going to be more complex than slapping together CRUD endpoints regardless.
- jpk 2y agoIt doesn't. The original comparison to Go here was in terms of opinionated defaults with respect to tooling. Go became a popular language for distributed systems, backend web, CLI tools, etc, in part because of the batteries-included tooling. Starting or getting acquainted with a project in Go is pretty straightforward because of this. The opposite is true of JS projects, in part because of the lack of standardized tooling. To point at Go's lack of usage for GUI applications in the context of is a non sequitur. To phrase the comparison a different way: Would the JS ecosystem be better if there was one set of tools everyone agreed on, similar to Go? (The answer is yes.)
- kaba0 2y agoWell, if it doesn't handle a notoriously hard area basically at all, then frankly it's a pretty bad data point to bring up.
- jpk 2y agoAgain, the comparison made was about tooling around Go/JS. What Go, the language, is or isn't typically used for is utterly irrelevant to that comparison.
- mirekrusin 2y agoComplexity handled by tooling is absolutely relevant.
- bsimpson 2y agoThis feels like less of a problem in recent years, with Vite having won the bundler space in the same way that VHS/Blu-ray won home video. There might be future evolution of course, but it feels like Vite is the default for new/retrofitted projects these days.
- jakjak123 2y agoWell, Go bundles its own runtime with the executable. JS has to work on probably millions of different combinations of versioned runtimes.
- nicoburns 2y agoHave you been using plain React, or have you been using a layer on top? I have found that React itself (complemented with React Router and a state management library such as redux, mobx, or similar), but many of the layers built on top of React to make it "simpler" including Next.js and Create React App add a lot of complexity. It used to be that the build system for React added quite a of complexity (when it was webpack), but with modern alternatives like esbuild and vite that's no longer the case either.
- FractalHQ 2y agoAs a (mostly) Typescript / Svelte dev, React is like a shitstorm of bad abstractions, and looking at it makes me irrationally upset. I refuse to flush any brain cycles down that drain.
- DanielHB 2y agoUI development is hard in general, you just hear more devs complaining about web because it is the first UI platform they try. Android, iOS, QT, JWT, SWT it is all hell. If anything most modern web environments are way better than most others that came before it. If a platform is "simpler" than the web it also usually means it is much less powerful.