Angular is basically headed down the same path that Ember went down IMO. A stable & mature but declining framework.
The same could ultimately happen to React as well. I'm working on a new project right now using Remix, which is great, but I've also realized that really nothing I've done wouldn't have worked just as well without React. Fortunately I really enjoy Remix, but if SvelteKit or SolidStart provide a similar experience I don't really see why I would stick with React.
Technically yes but just because they have a scheduled major release every 6 months doesn’t mean you’re going to see significant breaking changes. They’re not as conservative as Ember in that regard (still on 3.x!) but relative to React, Vue, etc things aren’t changing as quickly.
Still the best choice in my opinion. Batteries included for pretty much anything and RxJS is a delight. I really never have to think about state management issues.
My only concern are signals. They seem like worse Observables just for the sake of something new. Hope they never get added
Just keep in mind that SSR in Angular is a bit more painful than in other libraries. It's also quite bloated in both development and production. Other than that I quite like it. RxJS takes some time to learn but pays off well.
If you're ok with learning something with less adoption but similar batteries-included feel I'd recommend learning SvelteKit. I see it do a lot of things that Angular does well without failing were it's bad (i.e. breaking changes every six months).
I still love it, after 6 years I don't really know what problem it isn't solving and I mean 10 versions later! Also keep it to yourself but RXJS, my old hatred is now responsible for some of the best code I have ever written as far as being proud is concerned.
Anecdotally after 6 years of React, switching back to Angular it has a huge learning curve. Such a large surface area with zonejs, rxjs, modules. I feel productive with it now and actually prefer services + rxjs to redux. I like how much is included and has established pattern but it feels very heavy handed, just adding a single component involves a stupid amount of boilerplat.
Maybe it's not so popular for startups, but Angular is kinda like .NET - maybe not the new hot thing, but very well bedded down in large orgs and govt.
I use Angular daily as a frontend for our C++ app, hosted in Electron. I personally love the fact that it's opinionated (using their router, DI, etc) and most of their API is pretty extensible. For our purposes, it beats out Qt if you want an app with a highly custom UI. We chose it over React for the simple fact that it is so "batteries included".
It is stuck on webpack, while everyone else moved to next gen tool.
If you are new to angular, then I suggest stay away and come back in a year or two because Angular is going through a major paradigm shift. From webpack to esbuild, from zones to signals, from Rxjs everywhere to signals for synchronous change detection etc.
Angular doesn't play well with newer build tools - esbuild, vite, etc., making Angular quite isolated from the other frameworks. So a plug for vite is a plug for most frameworks except Angular (and others not on the radar).
But also Angular has egregiously big build times as your project scales up, and that sucks.
What about your developers though? Our company pays for 5 days a week 8 hours a day of talented humans in a medium team. I can throw compute for 1/10000th that.
A 56 module Angular 15 codebase `npm start` takes 10 seconds, and compiles after change faster than a browser refresh. The build takes 67 seconds.
What scale up are you talking about so that I know in the future what to look out for?
I think we were at around ~150k lines of typescript I think. We were also stuck on Angular 12 due to browser compatibility issues (cries in IE11). I think we were looking at ~20s for the dev server and ~25 minutes for the the prod builds.
I'm still using it - it does the job.
I think there can be a bit more complexity than React (components, services, interceptors etc) but I've never found it to be hard to understand, even with all the extra stuff.
I learned Angular with v1. When v2 came out, it was so different I had to learn a new framework either way. I went with React because it was the one gaining the most traction. I think that’s what happened writ large.
Not sure what your definition of few is, but there are plenty of old, boring, stable frameworks out there that run perfectly fine, like Mithril. You don't have to constantly rewrite your frontend if you stick as close to raw JS/TS as possible.