Google predicts Angular 2 is 'not too far away'
“We’ll probably [offer] a release candidate next month and then fix a bunch of bugs in the following month,” Brad Green, Google engineering director, said Thursday afternoon at Microsoft’s Build conference in San Francisco. A release candidate is the last stage before a general release.
Developers in charge of the project would have loved for it to be out by now, he said. “We certainly know there’s a lot of people who want it.” The framework, also known as AngularJS, has featured dependency injection for components and turning of static HTML content into dynamic content.
A highlight of the release is improved rendering. “Already in Angular 2, we’re dramatically faster than Angular 1 in our rendering capabilities,” Green said. Right now, Angular 2 runs 2.5 times faster out of the box than Angular 1; the goal is to be five times faster. To provide an upgrade path, the ng-upgrade capability enables mixing of Angular 2 components and services into an existing Angular 1 application.
Now in a beta release stage, Angular 2 already is in use at organizations such as Internet weather service Weather Underground and NPR, said Green.
Written in TypeScript, Angular 2 is decoupled from the DOM renderer and allows for multiple renderers; this required a rewrite of the framework, Green noted. “In Angular 2, we have pluggable renderers,” including versions for Android, iOS, and React Native, he said.
Google’s Angular Universal features decoupling from the DOM renderer as part of the effort to support Google and Mozilla’s Progressive Web Apps project and provide a more nativelike user experience for mobile Web apps. With decoupling, when a user makes a request, content is rendered via HTML and CSS, reducing size and improving speed.
To improve responsiveness, Angular 2 can render across Web Workers, allowing Web content to run scripts in background threads. Code and most of Angular is moved to a Web Worker off the main UI thread for a smoother experience, Green said.
Work on Angular is spreading to multiple avenues, including a standard called Zones for managing virtual machine turns and determining when to render. “We’re releasing it internally on Angular. Many other frameworks are interested in using this with us as well.” The project is now before the ECMA TC39 committee overseeing JavaScript standardization, Green said.