Should You Stay On Angular.js
May 5, 2020

Should You Stay On Angular.js?

Open Source

In recent months we have seen a lot of industry activity and concern about Angular.JS (or Angular 1.x). The buzz around this heavily used frontend framework is mostly concerned with the fact that the community (sponsored by Google) will stop sponsoring and supporting the project in 2021. Developers are faced with some difficult choices as they consider this inevitable reality.

What Is Angular.js?

Angular.js is built on Javascript and is a heavily used front-end framework for a lot of projects. When the project went to version 2.0+, it was completely rewritten in Typescript. This means that if you want to move your application from angular 1.x to Angular 2.x (aka it is essentially a complete refactor/rewrite.  

How to Prepare for an Unsupported Angular 1.x

If your application is still on Angular 1.x you have the following basic choices in the coming months:

  1. Completely rewrite your app using another framework that matches your use case with Javascript. Examples might include Vue and Polymer.
  2. Completely rewrite your app to the new Angular (typescript).
  3. Consider keeping your app on Angular 1.x.

Options one and two above sound painful to developers. Refactoring, switching frameworks or adopting a new language is always a heavy lift. 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.

Business Risks of Staying on an Unsupported Angular.js Version

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 Angular.js, you could try to just absorb the risks as things are not updated.

This means that browser interoperability may cease, systems may be vulnerable to security risks or 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.
This possibility and consideration of business risk and not wanting the pain of refactor brings up another idea. What if you considered forking the Angular.js project and creating a “band of brothers” who share a need for extended support of Angular 1.x?

The Path Forward if You Stay on Angular.js

If you embark upon this path, the idea would be to create a community and a support capability for Angular.js to address the following minimums: 

  • Address and patch security vulnerabilities.
  • Ensure interoperability with dependent components (like Jquery).
  • Ensure browser compatibility.
  • Host this fork and any backlogs, requests, bugs, and manage the workstream among the community members and contributors.

To build a community like this, it is going to be a little costly. The human cost will be the most significant part of this effort. Typically, you will need a community sponsor akin to Google that can donate employee time (probably a few employees cost) and hosting resources to ensure technical success.  Secondly, you need an active community of folks using the “product”, submitting bugs and contributing to ensure community activity so that the overall goals are achieved.

I challenge that forking the final release of Angular.js and building a community that has resources and the activity level needed to address all the items above -for and old and deprecated framework- is not for the faint of heart. It will be expensive. It may not succeed.

Final Thoughts

Refactoring your Angular.js application may be painful, and there are a lot of known challenges in that effort--but building and maintaining a community for an old problem is likely to be even more difficult, costly and risky. 

Get Support for Your Angular.js Journey

If you need assistance with the path forward, the team at OpenLogic is here to help. Open a free consultative support ticket with an OpenLogic Enterprise Architect to try our support!