*"no one ever got fired for choosing React"* is, AFAICT, not true today, and never has been.
I've witnessed entire teams get flushed and VPs get unceremoniously booted on the other side of grand React redesigns tanking revenue and conversions.
None of those folks talk publicly about how it went down because doing so would simultaneously devalue the thing they've invested in and hurt their own employability within that world. And so we bumble on, omerta in tact.
@slightlyoff Genuinely curious - What's the primary failure mode of React projects?
Institutional or software architectural?
@adamhill A cultural failure to value the marginal user and engineer to their constraints. This leads teams to assume that their own computing situation (fast devices/networks/etc.) are a fine substitute for the business' users.
This has been growing ever-more-wrong as mobile devices proliferate, but PMs have not gotten wise to it yet. Some new metrics like INP are shining a light, and may cause a shift, but at this point we've grown a whole generation of "I've got mine, Jack"-ists
@slightlyoff @adamhill if I can add to this as an engineer - from the inside it looks like very complicated state management, trouble integrating various libraries (often around forms and validation) a proliferation of loading spinners, approaches to css that are quick to write but hard to maintain, accessibility and default web UX needing reimplemented
The telltale is a whole team spends several months and at the end you have some forms that are a bit worse than default html forms.
@slightlyoff @adamhill Not to mention the "dependency treadmill". Good luck keeping any packages up to date once you adopt React, or god-forbid one of the mega frontend frameworks like Next on top of it.
Especially if testing has been neglected.
Providing any semblance of safety when deploying becomes very challenging.
@slightlyoff @adamhill 100% this. We've sadly got some new React sites and I can't understand where the performance penalty and complexity cost comes from. Even after seeing the poor perf, bug count skyrocket and velocity tank the teams are still doubling down on it. I don't get what they are getting out of it. I think they literally have never been shown another way, and nobody wants to take a risk on something they don't understand even if what they do know isn't succeeding for anyone.
@bendelarre @slightlyoff @adamhill they're getting their "DX"!
@bendelarre @slightlyoff @adamhill 200% this. Org has several sites built in React all with performance issues and bad web vitals scores. Then one site built in Astro that scores 100 on all metrics. The entire Astro site is smaller than React's bundle size.
The Astro will be rewritten for "productivity" reasons
@bendelarre @slightlyoff @adamhill is it a complex interactive app or just some display of information and forms that could easily be rendered and handled server side by any MVC framework?
@vincevlo @slightlyoff @adamhill it's some forms and some images...
Interestingly the most interactive parts of it are built with web components completely in isolation from React. Those bits strangely enough are so much easier to work on! ;-)
@slightlyoff @adamhill So glad I work on a thing that centres the marginal user. Even got to say ‘We’ll never support React’ the other day!
@stevenjmesser @adamhill That's the spirit. Grateful for all y'all do on gov.uk; it's a visceral example of services that just work, and a beacon many of us point to regularly.