As ES6 edges closer to evergreen browser support by the estimated mid–2015, many are wondering given the MASSIVE inevitable API breaking changes in Angular 2.0 if it is worth learning the current version of Angular (1.3 at the time of writing this).
The fear around Angular 2.0 I think is overblown. While it will be a complete rewrite, your newfound Angular 1.x skills aren’t just going to go to waste, especially considering Angular 2.0 might not even be released until late 2015/early 2016.
At the moment the only choice you have is to either use AngularJS as it currently stands or wait until late this year/early next year (if you have that luxury) to build your application using 2.0 but risk running into inevitable early adoption issues.
The 1.x branch isn’t going anywhere… yet
People are panicking, but Angular’s version 1 branch will continue to work for years to come. Just because a new version comes out doesn’t mean you need to start using it right away. The existing code doesn’t just stop working.
The Angular team haven’t abandoned the version 1 branch in light of the impending 2.0 release either. Version 1.4 is due out shortly and it comes with a whole bunch of new changes and improvements; forms, internationalisation fixes, tweaks to the $http client and more.
It appears that the 1.x branch will have at least a couple of years worth of updates and support which should be more than enough for developers to migrate over to the new version. And even then, you don’t have to upgrade. The old version will keep on working fine.
Angular 1.x is stable
When the new version of Angular hits, it would be unfair to expect a battle tested and stable version straight out the gate (especially considering it is a complete rewrite). While some existing problems might be fixed, new ones will take their place.
The benefit of the current version of AngularJS is that it is relatively stable. We are aware of mostly every single caveat that it has (like too many watchers slowing down your app).
Some people still support IE8
Not all of us have the luxury of being able to write-off Internet Explorer 8. I recently worked on a large project that used Angular 1.2 because of the need to support IE8.
Version 1.3 and onwards dropped support for IE8 and presumably, Angular 2.0 is definitely not going to support IE8 due to most ES6 functionality needing IE9+ for the transpiled ES5 output.
This means we are going to have a subset of people for potentially the next few years using Angular 1.2 because of the need to use IE8.
It is definitely worth learning AngularJS pre-version 2.0 rewrite. Even though version 2.0 is going to heavily use ECMAScript 6 features and be a different framework, your newly learned skills won’t be immediately thrown out the window.
Some of the concepts in the current version of Angular could make their way into the new version, albeit in a different form due to a new syntax, you should be able to spot differences easier after learning Angular 1.x.
As it stands you probably have another 2 years before you need to consider switching over to the 2.0 branch. Which in development land is a VERY long time for anything related to the front-end.