I'm tired of React's high complexity for complex web applications. What else is out there?
I'm a senior webdeveloper who has been making really complex "enterprise" applications for pretty much my entire career. Lots of 3D visualization, 2D data dashboards, drag-and-drop virtual windows, real-time two-way streaming (of large volumes of data), dynamic queries, custom CMS, unreasonably high-security deployment environments, ML/AI, heavy data engineering, the works. If it's something you'd roll your eyes at a client asking for, before realizing they're being completely serious, it's something I've either done before or currently work with.
Every application I have worked on is a React application. Recently, I've been taking more serious forays into other areas of development (game development in particular), and I've had the awful realization that I make much more complex features in something like C#/Godot, much faster, than I do in React/JavaScript.
I'll sit down for a day of game development and pump out something like fully-fledged wallrunning, a procedural generation system, the AI for a complex enemy or basic multiplayer. I'll sit down for a day of React development and pump out like 1/2 of a form.
I know they're incomparable, partially because it's just apples to oranges, and partially because I am the only programmer at my fledgling game studio, whereas on the React project(s) I am one of a team of 30 or so. I get that, but that feels like such an obvious disparity in productivity that I have to question it.
I believe this is because of the complexity of React when dealing with more than just simple state. Hooks on hooks on hooks get stacked on top of one another- And, I try my best to manage it with abstraction, custom hooks, etc. so that components don't fill with them, but I feel like the snowballing of complexity as useEffects, useMemos, cached queries to the backend, global state management, form state, etc. all stack on top of one another and interact in nonobvious and irritating ways is just unavoidable when building something "big" in React. Then you throw in the instability of tooling between versions that's characteristic of the JS/TS ecosystem in general, and it feels like it just multiplies the insanity. I and two other senior developers have spent 3 days this week trying to figure out why a type won't export from one specific custom library in our monorepo and we're all losing our minds.
Yes, I get the obvious answer is "don't build this particular application in React," but this is not my team to lead nor do I have control over the CTO or client. I'm not asking how to fix the current application I work on.
The question I'm asking is "what else is out there." If I were to make another application like this and had full control over the tech stack and architecture, what would be a better choice than React, if it exists?
I'm aware of Angular, but after what happened to Angular.js I'm pretty wary of Google. I'm aware of Svelte/Vue, but I'm not entirely sure they fix the problem of stacking hook and state complexity. I'm aware of monolithic frameworks like Rails/Laravel/Phoenix, but my understanding is that they are mainly focused on webforms and static pages, not this style of highly dynamic two-way realtime web app. I think Remix and/or plain React+tsup are next on my list of things to try, but I don't think either of those are solutions to the complexity problem, just bandages over it. I have tried Aider/Continue.dev/other AI-driven programming, and that definitely is not the solution, at least not for me- Too much hallucination and inconsistency.