Because they are a customer with real world usage?
I don't think anyone is asking for "special access" or "special Google only APIs" or anything like that. However, if the Angular team isn't even looking at how parts of Google themselves are using their framework in out-of-the-box configurations and making the Framework look terrible on performance at scale, then is the Angular team looking at any customer's performance?
Facebook and Microsoft here both make a huge deal of dogfooding one's own frameworks because when you are your own first customer you get a lot of direct, immediate feedback. There are performance characteristics of today's React that we know come from needing to work at Facebook scale. There are performance fixes to Typescript that we see get mentioned that Microsoft internal teams experienced pain points with and let the Typescript team know that a hand would be useful there.
At least from external appearances, almost all of Google's largest scale usages of Angular perform poorly. I don't understand how anyone would want to use Angular knowing that even Google can't get it to perform at scale. That either the Angular team isn't prioritizing performance at scale or the Angular team has built it in such a way that even supposedly smart people "in the office next door" can't figure it out. In neither case does it look good for Angular.
What's the point of even having the Google name behind the Angular brand if Angular isn't taking production performance feedback from Google? (Obviously, it's still good marketing because so many people outside Google are using Angular, sometimes against their own better judgment. But it feels like a bait and switch.)
Nothing, I still use it daily at work, alongside Angular (though not together).
> how the heck did they end up settling on Angular of all things
At Google, It's convenient to use Angular because there are well-documented ways to do all of the normal things you have to do to have a production-quality front-end application, such as building reusable components, dependency injection, component testing, screenshot diffing, etc. Standardization of the framework also has the benefit of making it easier to find someone to ask for help.
It would be a truly herculean task to bring another framework up to the same level of support and integration of Angular inside Google.
It's really hard to wrangle the amount of feature growth cloud is experiencing and I expect they made tradeoffs to satisfy that first.
"Is it supported?" "Yep"
"Can we hire for it cheaply? "More or less"
"Does it support the weird InternalSuperWidget it must talk to?" "Essentially"
"Ship it!"
In green field development or smaller companies, sure, I however do not find it as exciting since there are not real people / technical challenges most of the time, once you compare with what you can build with 1000s of engineers.
Those millions of LOC mostly only existed to serve their own purpose, and possibly the intrigue of many a doe-eyed eng. If I came across a codebase like that today, I'd likely be quite vocal on reallocating the evidently outsized engineering budget to some more productive use
Like, Google (or other company) still has to deliver to production and they do so using their existing system. I believe not supporting the existing system means not having deliveries.
I am actually facing a similar issue in my current job and it isn't an easy thing to move away from.
I left on 2018, and I remember there were a lot of orgs and teams trying to migrate to a new framework. In my org we were discouraged to start new projects in Angular.
And in fact, Cloud already did this.
Unfortunately, what they chose to bring up to the same level was... Angular, when they transitioned off AngularJS.
They moved from a framework with known performance pitfalls to a framework with slightly fewer known performance pitfalls. It was the right move for them, but it only solved a handful of the problems they were having with the previous iteration of Angular.
It's the Google Way.
(But truly, the headcount on Google's internal web tooling compared with the size of the organization is laughable. I watched lots of devs burn out trying to improve internal tooling, then quit, because the organization doesn't value it.)
1) A "footsoldier" dev has no choice in frameworks, and heavy frameworks with heavy reusable components are the norm. Frameworks are used to improve dev velocity and ensure consistency among the 100 teams that contribute to the web UI.
2) Devs care about performance but might not have time to do much about it given competing priorities. Cloud is a fast-moving area, so new features are being added all the time. Even if they want to improve performance, they're limited by the frameworks you have to use.
3) For folks that are saying Google controls the browser, framework, and component library, and so should be able to do better than this, you are right. But the different divisions don't talk to each other as much as you'd think. Why should they? Angular devs shouldn't get special access compared to React, no? Whether this is an organizational failure or an enforcement of separation of concerns is up to you. I imagine critics will complain if Chrome did something special for Google properties, and they'd be justified.