AngularJS 2.0 Details Emerge

| by David Iffland Follow 3 Followers on Oct 27, 2014. Estimated reading time: 3 minutes |

A note to our readers: You asked so we have developed a set of features that allow you to reduce the noise: you can get email and web notifications for topics you are interested in. Learn more about our new features.

Last week at the ng-europe conference in Paris, the Angular team gave attendees details about the upcoming AngularJS 2.0 release. It's a significant departure from version 1.X with no migration path and made with a new language, AtScript, in mind.

Developers familiar with the Angular 1.X will encounter a drastically different looking framework and will need to learn a new architecture. In a session devoted to the changes in version 2.0, Igor Minar and Tobias Bosch introduced the new template syntax:

<input type="text" [value]="firstName">
<button (click)="addPerson()">Add</button>

This new syntax binds data to element properties, not attributes. This allows the syntax:

<input type="checkbox" [checked]="someProperty">

This looks like standard HTML, but the checkbox input element doesn't expose a checked attribute. The new template engine binds to element properties even if they'e not attributes exposed by the DOM.

This new template syntax is a relatively small change compared to the upheaval caused by the new architecture. Attendee Michael Bromley described some of these breaking changes. Version 2.0 eliminates the following 1.X concepts:

  • Controllers
  • Directive Definition Object
  • $scope
  • angular.module
  • jqLite

Referring to the eliminiation of jqLite, Igor said:

In 2.0 we are not going to use DOM wrappers inside of the framework at all. We're just going to deal with the raw DOM. The DOM has improved quite a bit since we started, so we don’t actually need a compatibility layer that will help us with the different browsers as much as we used to need it. So we can just build with raw DOM, but if you want to use jQuery, if you find jQuery useful in your components, that’s totally fine.

One of the goals for 2.0 is to improve the development experience for Angular apps. In his Day 2 Keynote, Miško Hevery, the father of AngularJS, described how the creation of AtScript, would accomplish this goal.

AtScript is a superset of TypeScript, the language created by Microsoft. TypeScript adds types to JavaScript code and AtScript extends this idea further by adding annotations and introspection.

An annotation allows a developer to "express the intent" of a particular class. So, rather than writing boilerplate code to create a custom directive, developers can just create a class and tell AngularJS, "This is a directive". The introspection capabilities enable the framework to look at the type information at runtime.

But, AtScript is optional. There is no rule to develop Angular 2.0 apps in AtScript. Miško said that, because of the existing community and libraries already written in JavaScript, it was "a very important goal that you don’t have to use it". Since AtScript compiles to EcmaScript 5 (ES5), developers can write Angular 2.0 directly.

In a Q & A session, developers asked how long Angular 1.3 would be supported. Brad Green replied:

A reasonable expectation would be that after we release 2.0 final that something like 1.5 - 2 years beyond that we would support 1.3 for things like bug fixes and security patches.

The team also indicated that there is no migration path from Angular 1.X to 2.0, though they left the door open for this possibility. There is no release date set, but the consensus is that version 2.0 will be finalized late 2015.

Brad Green also mentioned that Angular 2.0 will only support "evergreen browsers", but didn't specify. He mentioned that the team was "trying to run to where the ball is going to be rather than where it is today"

Developers had mixed feelings about the massive change. On Hacker News, user zak_mc_kracken said:

Even though this is still called "Angular", this new version has barely any resemblance with the previous one, it's really a totally new framework. It's a bit sad to think that all this knowledge I have of Angular 1 is now obsolete but I'm excited to dive into this new framework. If it's half [as] revolutionary as Angular 1 was, it's going to be a pretty interesting time.

Videos from the ng-europe conference were available on YouTube, but were soon removed. According to the ng-europe Twitter account they "will post all videos during the next two weeks". Until then, developers can review the Angular 2.0 Design Docs and check out the GitHub repository.

Rate this Article

Adoption Stage

Hello stranger!

You need to Register an InfoQ account or or login to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Tell us what you think

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Nice write up! by Ben Hayat

Thank you for providing this info and write up.

Videos now available by seldon richard

check youtube ng-europe:

No, thanks by Alexander Semenov

May be better just let it die? Am I along?

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

3 Discuss

Login to InfoQ to interact with what matters most to you.

Recover your password...


Follow your favorite topics and editors

Quick overview of most important highlights in the industry and on the site.


More signal, less noise

Build your own feed by choosing topics you want to read about and editors you want to hear from.


Stay up-to-date

Set up your notifications and don't miss out on content that matters to you