i feel so validated in that when someone first pointed me to "create-react-app" (several someones actually) like it's a normal way to do frontend dev in the year 201X/202Y i ran it, concluded the output was dogshit, got into a minor fight over it and then never touched it again

turns out it is in fact dogshit, professionals agree!

i was porting a c++ app to the web and the node_modules folder alone had more files and more bytes than the entire c++ part. by more than an order of magnitude, if i recall

i'm not a javascript hater (i think modern JS and TS are pretty good all things considered!) and i'm not even a react hater (i maintain two react apps! not apps-pretending-to-be-websites, actual applications); i am however definitely a create-react-app hater. i cannot imagine why you would actually want this abomination

@whitequark it's such a mess. React's got some good ideas but god the ecosystem makes me want to claw my eyes out. At least some alternatives are a little more sane, but the sheer *volume* of the React ecosystem overshadows everything.

@stargirl yes

the React apps I maintain are... if I had more time and inclination I'd rather do it without React and the application would be better, but this is sorta how I ended up doing them for lack of more knowledge and experience

they're not terrible, they're carefully designed to import a fairly conservative set of libraries and they don't need a minute of runtime to build. but they're definitely not good either

@whitequark I feel that, I also feel like that is the case with *any* SPA regardless of how its implemented, it just always feels like it could be done better, but it's often just that it can be done differently and none of the options are satisfying.

@stargirl in this particular case I happened to have a lot of inherently imperative bits, so half of the React-importing code is basically working around React's entire model

I used React because it had an UI components library I wanted to use (I'm really bad with CSS). the library since got deprecated or something, I think. if I could wave a magic wand and have CSS fall out of the sky fully formed I'd just use Web Components

@stargirl none of https://amaranth-lang.org/play/ really needs React, it just happened to be something that sorta worked at the time and wasn't unusably terrible
Play with Amaranth HDL!

@whitequark lit is actually quite nice (along with web awesome if you want prefab components), but it is harder to build an "app" with lit alone, and there's still so many rough edges with web components (forms, for example). The project i'm working on now is using lit, but I kind of wish I'd gone with vue.

@stargirl @whitequark my read on react and its forebears has always been "this is for serving ads from a highly dynamic bidding system, and all other functionality is incidental" and I feel that I have never been poorly served by adopting this perspective

which is not to say that MVC is not useful, or that it's not a good implementation of MVC, but,,,

@SnoopJ @stargirl @whitequark at its core react is a tiny library that solves one problem: procedural manipulation of ui state leads to hard to find bugs, and it solves that with the sledgehammer of "render is a function of current state".

there's lots of arguments to be made about the tradeoffs of that solution, but it's not an unreasonable one if you have had to fix ui state problems in your life with a different paradigm

@stargirl @whitequark @whitequark I found out the other day that apparently the Windows 11 Start Menu is a react app.