they know React
It really doesn't make sense to me to use React when developing with LLMs. I mean if you have an existing React project sure, but even then just long enough to port to something else more sensible.
"they [agents] know React" seems to be the headlining argument and it strikes me as lazy.
Hey I've enjoyed the React model. Composing components. Unidirectional data flow. Props. Hooks.
None of it matters anymore!
Which is nice because a lot of the things I enjoyed also came with a lot of baggage. useEffect foot guns for breakfast with a side of no one on your team really has a shared understanding of how it all works.
Then there is the ecosystem (another reason people justify using React). Bloated package.json. Slow npm installs. Builds and bundles ballooning beyond belief. You down with CVEs? Yeah you know… not me. Data fetching/caching libraries, storing data on the client. That'll be another 2-3 dependencies cobbled together.
React doesn't really give you the UX ceiling you'd expect for all the escape hatches it requires. I miss when React was a library and we weren't authoring "React apps".
Oh by the way doesn't your agent also need to be good at your backend?
I've been vibe coding lots of demos/explorations using https://data-star.dev/ and it's been amazing. Guess what agents are really good at? Really tiny surface area that nails the frontend/backend boundary https://data-star.dev/docs.md. One ~14kb dependency and the agent can efficiently focus on regular html and css. Client side surface area remains bounded, but if it's ever needed the complexity is constrained to a small module/custom element or web component. You don't pay the React tax for your whole app when you constrain the complexity to where it's truly needed.
The real secret sauce though is if you opt for Datastar, start hanging out on their Discord you'll be exposed to some really smart, helpful people and likely learn more about how your application actually works and how to build fast, performant and correct apps without the excess.
I have a lot of experience working in a large React codebase with and without agents. I get the same if not better results (the end app not just the workflow) using Datastar w/ Go (and NodeJS/bun/deno etc). It makes absolutely zero sense to me why you'd ever reach for React when LLMs are doing the work and you likely won't look at the code or benefit from the ergonomics of React. The clanker doesn't care either way. Anthropic will happily take your money either way. How much money do you want to give them?
Alright let's review:
- You aren't writing/reading the code. The clanker doesn't care about ergonomics or component composition.
- Even if you are reading the code (and I hope you are) why opt-in to an architecture that necessitates more code to review and understand?
- No more (or little) npm dependencies. Faster project setup and significantly minimize this attack vector.
- No more builds. No more waiting for others to rewrite your favorite bundler in Rust to make it 10s instead of 40s.
- FUCKING HYDRATION ERRORS! FUCK!
- You'll be shocked how less red/yellow your browser console pane is.
- Focus on where your differentiating business logic actually lives (it was always the backend).
- Never ever have to worry about the dozen of unnecessary concepts like suspense, useEffect, dependency arrays, react compilers, server components all of that shit.
- If people are going to be vibe coding and especially lots of inexperienced folks from all levels/backgrounds I'd rather the default be small MPAs vs half-working SPAs out in the world.