Not an update, a new framework
When Google releases Angular (version 2), it is not an incremental update to AngularJS: it is a complete rewrite, incompatible with the previous version, rethinking the architecture from the ground up. The name drops the “JS” suffix to signal the discontinuity. The reasons for the rewrite are concrete: AngularJS shows structural limitations — the digest cycle does not scale with complex interfaces, the scope and controller system makes state reasoning difficult, and the framework is not designed for new web standards.
Angular chooses TypeScript as a mandatory language, not an optional one. The decision is radical for 2016: TypeScript is still relatively uncommon in the frontend ecosystem. Google bets that static type checking, advanced autocompletion and safe refactoring justify the learning curve, especially for large-scale enterprise applications.
Component architecture
The fundamental unit of Angular is the component: a TypeScript class decorated with metadata that associates an HTML template and a CSS style with a specific behaviour. Each component manages its own view and its own data, communicating with others through inputs, outputs and events. The architecture eliminates the scope and controller concepts that caused confusion in AngularJS.
Dependency injection (DI) is integrated at the framework level: every service, repository or utility is declared as injectable and the framework provides it to the components that need it. Angular’s DI system is hierarchical — different services can have different scopes, from global to a single component.
RxJS and reactivity
Angular integrates RxJS — a library for reactive programming based on Observables — as a core mechanism for handling asynchronous operations: HTTP calls, user events, state updates. The reactive approach replaces callbacks and promises with composable and transformable data streams.
AOT compilation
Ahead-of-Time (AOT) compilation transforms Angular templates into JavaScript code during the build, rather than at runtime in the browser. The result is an application that starts more quickly, with smaller bundles and template errors caught during development rather than in production. The framework is released under the MIT licence.
Link: angular.io
