InquirerDOH: Flu-like cases in PH rise 35%ESPN DeportesReal Madrid busca ante Bayern su primer triunfo en la Champions FemeilESPNTransfer rumors, news: Arsenal, Chelsea, City tracking PSG star DouéThe Jerusalem PostIsrael's election produced only one result - so why is everyone claiming victory? - analysisDaily MaverickIN PICTURES: Deadly train crash in Spain and more from around the worldZDF heuteAktuelle Pressemitteilungen des ZDFSouth China Morning PostNetanyahu set to remain caretaker PM after inconclusive Israel electionسكاي نيوز عربيةالقائمة العربية المشتركة "مستعدة" لدعم حكومة تبعد نتنياهوBBC News'Dissident republicans may be responsible' for hotel explosive device, police sayBBC عربيوزارة النقل اليمنية: الحوثيون استهدفوا مطار عدن مرتين، ومقتل 14 شخصاً في هجوم "سعودي" على مدينة الحزمThe GuardianJP Morgan to press on with London HQ despite new bank tax in ‘boring budget’ – business liveComplete SportsNPFL Bans Warri Wolves Fan Over Alleged Assault On Match Official
The Daily Newsstand · Free, Always
Wednesday, October 28, 2026

How Google fumbled the frontend with Angular 2

Translate

A cartoon from an ex-Google software engineer, titled “Welcome to Google,” made the rounds a while back. It featured two diverging roads, neither passable. One was the main road, marked as deprecated (“don’t even think about it,” the sign read). The new road, however, was marked as still under construction (“Danger”), and so was unusable as well. 

That was the no-win choice two million frontend developers faced in 2014, when Google unexpectedly deprecated its popular JavaScript framework, AngularJS, in favor of Angular 2, which had a radically different architecture, a confusing name, no upgrade path, and wasn’t even fully released yet.

So, many developers turned the wheel and headed to Reactville or Vuetown instead.

REG AD

How Google botched the Angular upgrade provides timely lessons in how not to update a software package, which former Google Developer Advocate Stephen Fluin outlined in a talk at the All Things Open conference last week.

REG AD

“Uncertainty kills motivation,” said Fluin. “When you're taking away everything [developers] know and love, they're going to feel disheartened.”

Fluin is now head of developer relations for Buildkite, but he worked for Google from 2016 to 2021 on the Angular project. 

“Things were a little bit rough at the time. It was a bit of a death march,” he told the audience. “We had no idea when Angular 2 was going to come out, and the core fundamentals of Angular kept changing.”

From AngularJS to Angular 2

Google had good reasons for updating Angular. 

The AngularJS team had been snatched from Google’s infrastructure division and placed under its ad division, where the software could be more fully exploited. To support operations of that size, Angular needed greater rigor.

The original AngularJS was launched in 2009 as a side project of Google engineer Miško Hevery, who wanted to extend HTML. Google pulled AngularJS into an internal project because Google developers found it easier to work with than the Java-based Google Web Toolkit (GWT).

The framework quickly caught on with outside web developers too, who readily understood the angle brackets of HTML (hence the name) and wanted more interactive components. 

REG AD

Hevery built AngularJS 1.3 with a traditional controller model, which handled all user input, logic and data transport under the JavaScript $scope object.

Angular 2, announced at the ng-europe 2014 conference, was a major shift in architecture. It shifted to a component model, with each HTML template enjoying its own class properties. After a forced, unhappy dalliance with Google's Dart, the team rewrote Angular completely in TypeScript, with no backward compatibility whatsoever. 

It was a lot to take in, and the introductory talk at ng-europe seemed to spook Angular developers more than inspire them. For each discarded feature, the speakers displayed a graphic of a tombstone (“RIP Controllers”) and played a recording of a church bell tolling in the background.  

“That talk is still infamous today for what it did to the community,” Fluin said.  “All these things that you know and love about AngularJS are gone. They're dead. And nobody knew this was coming.” 

In general, it was not a good time for software migrations, Fluin noted in his talk. Python was having a rough time migrating from version 2 to 3, as was the KDE desktop moving from version 4 to version 5. And the rocky transition from GNOME 2 to 3 still loomed in the rearview mirror for many.      

What's in a name?

“If you're trying to bring your developers with you, give them a path. Don't just kill your old thing and then not have a new thing ready,” Fluin advised. 

Many devs defected to React and Vue.js, two other JavaScript frontend frameworks that also embraced the component model and were already in production. 

REG AD

In the 2016 State of JS Survey, React was the most popular frontend framework, with 53 percent of JS devs reporting that they had used it. Angular’s audience was heavily bifurcated; 30 percent still used the classic version while only 13 percent used Angular 2. Ten percent of users adopted the still up-and-coming Vue.

Angular 2 was finally released in September 2016, followed by Angular 4 the following March. Version 3 was skipped entirely for no discernable reason. Meanwhile, AngularJS classic, which was not formally retired until the end of 2021, was updated to version 1.5 in the spring of 2016, introducing components.

Muddying the waters further was the naming of the frameworks, which confounded many casual observers. Was AngularJS different from Angular 2? And was the “2” part of the Angular name, signaling the complete architectural shift, or its version number?

Getting the public to understand the name change turned out to be a major quagmire. Fluin said: “We had to fix public communication guidelines. We had to train experts. We had to fix Google's knowledge graph,” which is Google’s database of facts about the world.

“Naming and versioning matter,” he told the audience. “They don't matter in a pure technical sense, but they matter to human beings because it's human beings you're trying to keep up to date with.”

It would be easy to blame the Google brass for nearly shipwrecking Angular, but it has been a success at meeting Google’s needs. Today, the component-driven Angular powers Gemini’s user interface, Google Analytics, and countless other Google apps. It is now converging with Google’s internal Wiz high-performance framework, originally designed for the ill-fated Google+ social network. 

Angular has also settled into a more predictable and user-friendly update pattern. Updates have a routine release cadence, currently twice a year. They dutifully follow semantic versioning guidelines, with major version numbers signifying breaking changes. Google tests each new version of the framework on its own apps before releasing it publicly. Any feature slated for removal is deprecated for a year first.  

But in retrospect, Google may have been better off giving Angular 2 an entirely different name, even if it meant building up a new user base from scratch. 

“JavaScript developers loved trying new frameworks. So, pretending to be a new framework might have been better,” Fluin told The Register. ®

View the original on The Register →

KioskNews shows a cleaned-up reading view extracted from the publisher’s page — the original always lives on their site, not ours.