The upgrade features enhancements for speed in rendering and updating pages, near-initial rendering, and support for building cross-platform native mobile apps for Google Android and Apple iOS. "It's eight times faster than Angular 1," said Brad Green, Google director of engineering in charge of Angular.
To make interfaces fast and run well on mobile, Angular 2 enables an application to run inside a Web worker, thus making the UI responsive regardless of what the application is doing, Green explained. The Angular Universal feature, meanwhile, provides for performance by allowing for an application to be first rendered in just HTML and CSS, with the first page of an app running inside of Node.js on a server.
Written in TypeScript, Angular 2 already has been use at Google, which deployed it at properties like Adwords and Google Fiber. "What we're saying is that we're confident that other teams can now build on top of Angular 2," Green said. While version 2 constitutes a "rewrite and a breaking change," Google is offering a library called ng Upgrade, for mixing Angular 1 and 2 inside of an application. Developers can start writing Angular 2 components inside of their Angular 1 application, and previous features including as dependency injection and data binding remain.
In an October 2013 interview with InfoWorld, Misko Hevery, co-author of Angular, cited the concept of directives, in which HTML drives application assembly as a differentiator, along with dependency injection. But version 2 mostly replaces directives with a components approach, which anticipates future Web Components specifications, such as Shadow DOM and HTML Imports.
Before moving to the final release, Angular's builders plan to reduce the Angular 2 binary size, make the Angular CLI (Command Line Interface) usable throughout the development process, and develop a more developer-friendly API for the Angular component router. Support for animations and I18n internationalization and L10n localization also is planned. Other features, planned for general availability in coming months include better startup times and more documentation, particularly around ECMAScript 5 and 6 usage. Angular's developers are also looking at an architectural style guide, more support for mobile and installable mobile apps, Material Design components for Angular 2, a tools platform for deep IDE support, and better support for ECMAScript 6 and the Babel compiler.