Planning for AngularJS End of Life (EOL)
For those using the popular open source web framework, AngularJS EOL will have a profound impact on their development and support plans.
In this blog, we look at the current Angular community support roadmap, discuss AngularJS EOL, detail the difficulties of potential AngularJS migration paths, and support options for those not ready to explore alternate open source frameworks.
The (Shifting) Angular Community Support Roadmap
Back in January of 2018, Pete Bacon Darwin, a Core Angular team member, announced that AngularJS would have one more significant release in July of 2018, then enter a three-year long term support period. This would have effectively made AngularJS EOL July of 2021.
Then, in July 2020, AngularJS gave an extension to that LTS – lengthening it by six months to give companies impacted by COVID-19 a longer runway to migrate.
This discontinuation of AngularJS came as a response to the growing popularity of Angular (a Typescript-based rewrite of AngularJS) which Darwin said had grown “five times faster than AngularJS did since its original release.”
Will There Be Another AngularJS LTS Extension?
For those hoping for another extension for AngularJS LTS, it doesn’t appear to be in the cards. The community is no longer accepting change requests or making attempts to update the application beyond bugs/issues within set parameters – and that’s only until end of life.
When Is AngularJS End of Life?
Back to topAngularJS end of life begins December 31, 2021 – and marks the end of a three and a half year long term support phase.
Planning for AngularJS EOL
If your application is still on Angular 1.x you have the following basic choices in the coming months:
- Completely rewrite your app using another framework that matches your use case with Javascript. Examples might include Vue, ReactJS, or Next.js.
- Completely rewrite your app to the new Angular (typescript).
- Consider keeping your app on Angular 1.x.
To put it into context for technical management at companies considering these options, rewriting applications and building new tests to meet enterprise requirements may cost hundreds of thousands of dollars for each application you refactor.
Back to topLooking for More Insights?
This recorded webinar from Perforce OSS Evangelist Javier Perez gives a great breakdown how companies are approaching AngularJS EOL and support.
AngularJS Migration Options
Changing something as core to an application as its framework will always be an immensely challenging task. From infrastructure, to application code, to testing, to deployment. Each piece must be carefully verified to ensure no regressions in behavior, performance, or stability. To make matters worse, in many cases fundamental differences in frameworks can force restructuring or redesigning pieces of the application.
Because there isn’t a supported, 1:1 JavaScript-based AngularJS alternative within the Angular family, AngularJS users will either need to find one outside the Angular ecosystem, or rewrite their application to function with the TypeScript-based Angular.
Rewriting to an Alternate JavaScript-Based Framework
The good news for AngularJS users is that there are comparable, mature JavaScript frameworks available, including ReactJS and Vue. But, as noted above, migrating to these frameworks isn’t cut and dry.
ReactJS
ReactJS is a JavaScript-based framework (or library, depending on who you ask) that focuses on providing an easier, more programmatic approach to rendering content.
ReactJS is arguably more limited in scope, and will need to be extended with libraries to replace many of the functionalities found in AngularJS.
ReactJS is a great choice, but its limited focus means you may only be replacing one piece of the larger framework you're losing.
Vue
Similar to ReactJS, Vue has a more limited scope than AngularJS and does not enforce the strict application structure defined by AngularJS. It also discourages two-way data binding, which can be problematic for applications making heavy use of this feature.
On the plus side, Vue was heavily inspired by AngularJS which can make a migration less complicated.
Vue offers a strong ecosystem of tools while still staying within JavaScript. While there are some incompatibilities with AngularJS, depending on your usage, Vue may be the right choice to keeping modern without leaving Javascript.
Rewriting to Angular
Angular, a TypeScript-based re-write of AngularJS, offers the clearest upgrade path from AngularJS – but at the cost of learning TypeScript and slowly porting your application over.
While Angular provides a migration tool (ngUpgrade), and it can help bring over applicable code, Angular and AngularJS have their own ideas about how an application should be structured. Depending on the architecture of your AngularJS application, you may find the transition to be more challenging than expected.
Back to topThe Consequences of Unsupported EOL AngularJS
What happens if you want to keep your application on an old framework for a period of time and it will no longer be supported by the community? Well, when you consider community support ending, that means no more security patches, no more features, no backported functionality, and so on. When you hit that inflection point, if you chose to stay on a framework like AngularJS, you could try to just absorb the risks as things are not updated.
This means that browser interoperability may cease, systems may be susceptible to security risks if AngularJS vulnerabilities are exploited, and other complementary components, like new versions of jQuery, may cease to work as intended. This means your app may have some serious issues as it ages along with this EOL framework.
Back to topFinding Extended Long-Term Support for AngularJS
Even with the long runway, many teams haven’t had the time or resources necessary to migrate from AngularJS. The priority for these teams, if they can’t migrate to a supported framework, will be keeping their AngularJS deployments protected from new vulnerabilities and web browser changes.
Creating fixes for AngularJS vulnerabilities requires significant expertise, and administrating builds and patches is a complex proposition. Getting commercial long-term support by AngularJS experts is the best solution, which OpenLogic provides — with patches for post-EOL versions of AngularJS.
Back to topFinal Thoughts
For organizations using AngularJS, migrating to an alternative framework (whether that’s Angular, or a JavaScript alternative) is a necessity. For teams who need more time to complete that migration, finding an alternative means of long term support before community end of life is imperative.
The good news is that there are great alternative frameworks (JavaScript-based or otherwise) available, with a range of benefits and features that can accommodate countless use cases.
Additional Resources
- Blog - How to Choose a JavaScript Framework to Replace AngularJS
- Blog - What Is AngularJS?
- Blog - AngularJS CVE 2022-25844
- Blog - AngularJS vs. ReactJS: Key Differences and Migration Considerations
- Blog - Angular vs. AngularJS: Exploring the Key Differences
- Blog - The Hidden (and Not So Hidden) Costs of Unsupported EOL OSS
- Blog - AngularJS vs. VueJS: In-Depth Comparison
- Webinar - How to Minimize Risk After Open Source EOL