The end is near for AngularJs

In 2010 Google introduced AngularJs. Originally it is developed in 2009 by Miško Hevery en Adam Abrons. AngularJs is a Model View Controller (MVC) javascript framework. It has been / or still is used by many companies for creating SPA (Single Page Applications). Few years later AngularJs became part of the MEAN Stack. MEAN stands for MongoDB, Express.js, AngularJS, and Node.js. MEAN is an end-to-end JavaScript stack used for cloud-ready applications.

AngularJs became very popular because of a set of features that really helped programmers constructing stable, scalable and robust web-applications. AngularJs reached the top segment of the market and was compared to ReactJs and EmberJs also a good choice to build your product with.  

But all good things, come to an end.

Around the years 2013/2014 AngularJs was (already) beginning to become old. The competition, like the new version of React, where embracing stuff like component-based architectures and Typescript. Also, the World Wide Web Consortium (W3C) was adopting things like Web-Components.
The market reacted really enthusiastic about these changes and because of these forces and pressure the AngularJs team needed to change things in order to stay relevant in the near future.

The AngularJs team started building Angular2. Angular2 was rebuild from scratch and the team said, among other things, goodbye to the famous $scope and controllers. The new version of Angular is based on a component architecture and hierarchy. For most AngularJs developers this was a big change. For some developers, this change was too big and they said goodbye to Angular(Js).
Also when Angular2 was announced, the Angular team had no good answers regarding the migration of applications from AngularJs to Angular2. This really angered people. Look at this article for example.

Fortunately, now there are some good tutorials about how to migrate your applications from AngularJs to Angular. But still, if you have a big application, you’re looking at a huge migration project if you want to refactor your application from AngularJs to Angular. 

Even today, with all the insights that have been gained, you’re looking at a huge undertaking in which you really have to ask yourself if you cannot better completely rewrite your AngularJs application in Angular. (From scratch, that is).

Do you really need to build from scratch?
The correct answer, to that questions, is different for each company.
Some big companies have the resources to let a separate teamwork on a total rewrite of the AngularJs application and let other teams maintain the old AngularJs application until the new version is ready.
Smaller companies do not have this luxury of multiple teams. The development team that is responsible for the new versions of the current AngularJs application, is the same team that is responsible for the realization of the new version.
There are also companies who decide to start an outsourcing-project and let external companies rewrite te application. (It’s cheaper, but most of the time, in my experience, the (code) quality is bad and a lot of stuff is not ready to be sold on the market after the release).

But do I really have to migrate to Angular?
Yes! The Angular team and Google have announced that they will stop the LTS (Long Term Support) on June 30, 2021.
UPDATE (2020-07-27):
Due to COVID-19 affecting teams migrating from AngularJS, we are extending the LTS by six months (until December 31, 2021).
That means that you have 1.5 years for your migration project to Angular. If you decide to continue with Angular.
They have already stopped the active development on AngularJs, since June 2018.

In my next article, I will focus on some technical aspects of the migration from an AngularJs application to an Angular application. Also, I will show you how to create a hybrid AngularJs / Angular application. In that situation, you can rewrite your application one step (or feature) at a time. That means that you’re running your AngularJs application while there are some features already running on Angular in production.