How Google fumbled the frontend with Angular 2
All Things Open Talk provided lessons in how not to upgrade a software package
In 2014, Google's popular JavaScript framework, AngularJS, was unexpectedly deprecated in favor of Angular 2. This decision left two million frontend developers in a no-win situation, as there was no upgrade path, a confusing name, and the framework wasn't even fully released yet. The developers had to choose between sticking with the deprecated AngularJS or exploring alternative options like React or Vue.js.
The transition was indeed a challenging one, as former Google Developer Advocate Stephen Fluin highlighted during a talk at the All Things Open conference. Fluin, who worked on the Angular project for Google from 2016 to 2021, described the period as a "death march" where the core fundamentals of Angular kept changing, leading to uncertainty among developers.
Google had good reasons for updating Angular. The AngularJS team was moved from Google's infrastructure division to its ad division, requiring greater rigor with the software. The original AngularJS, launched in 2009, was a side project that caught on with outside web developers due to its compatibility with HTML. To modernize Angular, the team rewrote it in TypeScript and shifted to a component model, abandoning backward compatibility.
Fluin emphasized that uncertainty kills motivation and that removing everything familiar from developers can lead to disheartenment. Many developers left for other frameworks like React and Vue.js, which also embraced the component model and were already in production. In the 2016 State of JS Survey, React was the most popular frontend framework, used by 53% of JavaScript developers. Angular's audience was mixed, with 30% still using the classic version and 13% using Angular 2. Ten percent adopted the newer Vue framework.
The release of Angular 2 in September 2016, followed by Angular 4 the following March, was met with mixed reactions. Version 3 was skipped entirely, and AngularJS, not formally retired until the end of 2021, saw updates to version 1.5 introducing components. The naming and versioning of Angular proved to be a significant challenge, as many casual observers struggled to understand the difference between AngularJS and Angular 2, and the meaning behind the "2" in Angular 2.
Written by urgent.news from The Register's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.
Also reported by 1 other outlet
- How Google fumbled the frontend with Angular 2 theregister.com