There seems to be different aspects of boringness.
Angular has been boring for us in not having to assemble the frontend stack from scratch, keeping up to date, and hiring people who can immediately get up to speed. The least boring part of Angular for us was rxjs and forms. It's awesome having rxjs experts, but for folks getting started it can get messy. We decided to limit it's usage, and things have been going pretty well so far. In terms of performance we haven't hit any issues, but I suppose it depends on the app you're building.
We've had successful React projects as well. There the boringness was coming from the intuitive approach for building components. We found it less boring when we had to keep up to date, be consistent (used technologies), and have smooth integrations. Hooks felt very much similar to rxjs where there's so much semantics behind a short name to the extent you need to dig behind the implementation to understand what given hook does.
That's why our standard front-end stack is Angular + TypeScript.
Microsoft is doing wonders with TypeScript. Thanks to its type system we have much higher level of confidence and amazing tooling, so we can focus on writing tests and solving business problems.
Similar with Angular. With the AngularJS to Angular transition few years ago so we were very skeptical and thought that Angular is a ticking bomb. It turned out the opposite! Their team has learned the lesson and now they provide automatic update with their CLI. The framework hasn't changed for the past 4 years and Google just releases incremental updates with improvements in DX and speed.
They can definitely work on better build times and forms, but that's the first time we were able focus on solving customer problems without stressing out what's the new trend of creating components.
Angular has been boring for us in not having to assemble the frontend stack from scratch, keeping up to date, and hiring people who can immediately get up to speed. The least boring part of Angular for us was rxjs and forms. It's awesome having rxjs experts, but for folks getting started it can get messy. We decided to limit it's usage, and things have been going pretty well so far. In terms of performance we haven't hit any issues, but I suppose it depends on the app you're building.
We've had successful React projects as well. There the boringness was coming from the intuitive approach for building components. We found it less boring when we had to keep up to date, be consistent (used technologies), and have smooth integrations. Hooks felt very much similar to rxjs where there's so much semantics behind a short name to the extent you need to dig behind the implementation to understand what given hook does.