Whenever I meet developers working with Angular JS 1.x the first question they anxiously ask me is ‘Is Angular JS 2 completely different from 1.x?‘. Let me explain the reason for the fear or enhance(or confirm) it.
ECMAScript is the standard for scripting languages. Our JavaScript, ActionScript etc., are implementations of ECMAScript(ES). Writing modularized JavaScript is a pain and we use libraries like Angular JS, Ext JS, Backbone to modularize our JavaScript code.
I have started using CoffeeScript a lot, of late. CoffeeScript gives you OO features and it gets transpiled(or generates) to JavaScript code. MicroSoft has TypeScript, which is similar to CoffeeScript.
So if you want to write moduarized JavaScript code, without having to depend on frameworks like Angular or Backbone, you can use CoffeeScript or TypeScript or the similar ones.
Now, the latest version of ES, ES6(or Harmony) introduces features like classes, symbols, inheritance etc., You can read more about it from http://es6-features.org. And that means JavaScript language will have to support ES6 syntax that has classes, objects, symbols, iterators etc., With this change, the JS interpreters in browsers will definitely start supporting the new syntax as well.
Angular JS, not just for this reason alone, has decided to come up with a better syntax that eases the job of the developers. It announced that it’s developing a new language called ‘AtScript‘ that is based on Microsoft’s TypeScript. The AtScript code will get transpiled to JavaScript.
And this is the major source of fear for the developers of Angular 1.x. You may have to code in a new language, AtScript, in Angular JS 2.x. There’s been a big hue and cry in the Angular JS community ever since the announcement was made. There are lot of articles and videos out there, debating this vehemently.
For me, apart from the new language(it’s still work in progress), which has never been an issue, its other features like focus on performance, mobile devices and support for standards like web components, makes Angular 2.x a compelling wait.
Let’s continue to keep our ears and eyes open