Angular or AngularJS?

Angular or AngularJS? image

Posted by Tim on 25 Mar 2020 in Angular,Development

We’ve noticed a lot of confusion around the naming of Google’s two front-end development frameworks, Angular and AngularJS.

Loads of sites and articles make the mistake of grouping the two together and don’t make a clear distinction between them, or don’t know exactly which one they’re referring to. This can be overall damaging to both frameworks and to the development ecosystem in general.

We’re here to clear up some confusion surrounding the two frameworks and tell you which one you should be using (spoiler alert - it’s Angular!) - and why. We’ll explain some key differences between the two frameworks, as well as some other considerations that will factor into the decision.

History & divergence

The first major difference is that AngularJS is just an older technology than Angular (don’t let the name fool you, it isn’t just a new version of the framework - Angular is a complete rewrite of Google’s original framework). AngularJS was released in 2010, while Angular’s first stable release occurred in 2016 with Angular 2.

Put simply, AngularJS comprises everything in Angular 1.x.x, while everything from version 2 onwards, all to the current version 9, falls under Angular. This means that Angular is a much larger framework than the original AngularJS. Check out this post if you’d like to find out more about the history of the two frameworks.

TypeScript vs. JavaScript

The other huge difference between the two is in the language the respective framework is written in: while the older AngularJS is written in JavaScript, as the name suggests, Angular is actually based on TypeScript, which is a superset of JavaScript.

The difference here isn’t gigantic, but nevertheless significant. TypeScript boasts an improved developer experience with great IDE support; it necessitates a stricter adherence to coding standards which guarantees cleaner, less error-prone code that logically requires less testing.

In addition, since TypeScript compiles to plain JavaScript which is browser-agnostic, you don’t have to worry about backwards compatibility breaks with older browser versions. You can learn more about TypeScript and how it compares to JavaScript here.

AngularJS: looming end of LTS & EOL

As an older framework, AngularJS got its final major release in January 2018 with v1.7, with its three-year Long Term Support period beginning in July the same year. The latest patch release was in November 2019, but the framework’s LTS is scheduled to end in 2021 (update: the Angular team recently announced a 6-month extention of the LTS period, which will now last until 31 December 2021), when it will reach its End of Life and stop receiving curated maintenance.

What this means is that an AngularJS application does not benefit from any new features and is already more vulnerable to cyber security threats. With the end of its LTS period next year, however, this will likely become even more prominent as even the routine updates will no longer be available and it will be very difficult to get dedicated support.

Angular 9: unprecedented performance and developer experience

On the other hand, the latest version of Angular, v9 released in February, is better than ever and includes the most cutting-edge features that boost both user and developer experience.

The new long-awaited Ivy compiler is the most important player here, as it enables a lot of cool things, e.g. greatly improved debugging, Ahead-of-Time compilation in the development build, lazy loading of components etc.

In addition, to keep up with the rising popularity of the Jamstack, Angular 9 made available the framework’s first-ever SSG (static site generator), developed by the team at Hero Devs, called Scully.

Angular 9 is also the first release of the framework which prioritizes an easy upgrade path between major versions and thus sets the stage for a new perspective on backward compatibility.

Small vs. huge community support

Because of its size and its innovative but already established status, Angular has a much larger community behind it than AngularJS does. And, as we know, with open-source projects such as these two frameworks, community support is a very important factor to the stability and relevancy of a technology.

When selecting the right framework for your project, you’d choose the more innovative one, the more up-to-date one, the one that most closely follows industry standards, 99% percent of the time.

It’s the community that takes care of all of these aspects; members of open-source communities such as Angular dedicate significant amounts of their free time to help innovate and improve the experience of everyone using the framework with each new version.

It’s on the frontline that real innovation takes place, and if you don’t want to completely revamp things every few years, it makes by far the most sense to go with a technology you know will continue to be up-to-date and relevant.

So, which one should we go with?

We think the answer to this one is pretty straightforward, and we hope this post has helped illustrate this point more thoroughly: definitely go with Angular. For any new project, it’s just a no-brainer not to make use of the most cutting-edge features, built and maintained by experts at one of the biggest tech companies in the world.

In fact, even an old project already built on AngularJS would benefit from being migrated to (hopefully the latest version of) Angular - if not immediately, then definitely next summer when the LTS of AngularJS comes to an end, and security risks start increasing while performance falters.

If you’ve already decided Angular is the way to go, but lack experienced and reliable Angular developers to help you realize your vision, contact us and we’ll provide you with a team of Angular experts to help you out.