Skip to main content

What’s the difference between AngularJS, Angular2 and Angular4?

One question that often comes out is “What is the basic difference between AngularJS, Angular 2 and Angular 4 and how to jump from Angular 2 to Angular 4?”

Angular JS was introduced in 2010 as a JavaScript framework for building client side single page web applications. So it gained popularity and the Angular team at google started to add some more features to the core. But the framework was not designed with the needs of today’s applications in mind and moreover it was totally complex. So the Angular team decided to rewrite the entire framework using TYPESCRIPT and as a result Angular 2 was released in mid 2016. The new Angular framework is completely different from the previous version and we can think of it as a completely different framework compared to the earlier one.

The decision was frustrating to most of the developers since a lot of applications have been designed using AngularJS. I personally liked the direction that Angular developers took in rewriting the entire framework according to the needs of modern software development. It is lot cleaner and much easier to understand and to work with.

 After a few minor upgrades to Angular 2, something strange happened. It went out to Angular 2.3 and suddenly Angular 4 came out. Lot of developers including myself were confused so as to what happened to Angular 3.We thought we had missed something big here. 


But there were no major changes included from Angular 2 to Angular 4.Infact it wasn’t even a major upgrade. So let me explain what happened!

Angular consists of a few different libraries that are distributed as separate node packages via NPM (Node Package Manager).For example, we have the CORE library (@angular/core) that is used in every Angular application. We have the COMPILER library (@angular/compiler), HTTP library (@angular/http) which is used to make http requests and the ROUTER library (@angular/router) which is used to add navigation to our application and a few other libraries. All these libraries were versioned the same except the ROUTER library (which is 3.3.0). So inorder to align these versions and avoid confusion in the future, angular team has decided to go directly to Angular 4.Angular 4 is not a major upgrade to Angular 2 and we can think of it as Angular 2.4.

After all this confusion about the Angular versions, the team decided to drop the version suffix and simply call the framework “ANGULAR”. So now we have two kinds of Angular.
·       AngularJS (1.x)
·       Angular (2+)

So it is recommended to use the word “Angular” rather than “Angular 2” or “Angular 4”.We should use versions only when we talk about a specific release. For example, when we want to upgrade from Angular 4 to Angular 5.Then everybody knows what the scope of this upgrade is and what are the potential upgrade changes that can impact an application.
This is all about Angular Version History.

Thanks for reading!


Popular posts from this blog

What is context in android ?

The topic of Context in Android seems to be confusing too many. People just know that Context is needed quite often to do basic things in Android. People sometimes panic because they try to do perform some operation that requires the Context and they don’t know how to “get” the right Context. I’m going to try to demystify the idea of Context in Android. A full treatment of the issue is beyond the scope of this post, but I’ll try to give a general overview so that you have a sense of what Context is and how to use it.
What exactly is Context?

Well, the documentation itself provides a rather straightforward explanation: The Context class is an “Interface to global information about an application environment". The Context class itself is declared as abstract class, whose implementation is provided by the Android OS. The documentation further provides that Context “…allows access to application-specific resources and classes, as well as up-calls for application-level operations such as…

LocationManager vs GoogleApiClient

User Location on Android
Getting the user’s location on Android is a little less straightforward than on iOS. To start the confusion, there are two totally different ways you can do it. The first is using Android APIs from android.location.LocationListener, and the second is using Google Play Services APIs Let’s go through both of them.
1.Android’s Location API
The Android’s location APIs use three different providers to get location - ·LocationManager.GPS_PROVIDER — This provider determines location using satellites. Depending on conditions, this provider may take a while to return a location fix. ·LocationManager.NETWORK_PROVIDER — This provider determines location based on availability of cell tower and WiFi access points. Results are retrieved by means of a network lookup. ·LocationManager.PASSIVE_PROVIDER — This provider will return locations generated by other providers. You passively receive location updates …


Angular JS is an open source framework built on JavaScript. It was built by the
developers at Google. This framework was used to overcome obstacles encountered while
working with Single Page applications. Also, testing was considered as a key aspect while
building the framework. It was ensured that the framework could be easily tested. The
initial release of the framework was in October 2010.

Features of Angular 2:Components: The earlier version of Angular had a focus of Controllers but now has changed the focus to having components over controllers. Components help to
build the applications into many modules. This helps in better maintaining the
application over a period of time.

TypeScript: The newer version of Angular is based on TypeScript. This is a
superset of JavaScript and is maintained by Microsoft.

Services: Services are a set of code that can be shared by different components
of an application. So for example, if you had a data component that picked data
from a database, you …