Angular commonly referred to as Angular 2+ and above is a TypeScript-based
front-end web application platform led by the Angular Team at Google and by a community of individuals and
corporations. Angular is a complete rewrite from the same team that built AngularJS.
Differences between Angular and AngularJS
Architecture of an Angular application. The main building blocks are modules, components,
templates, metadata, data binding, directives, services and dependency
Angular was a ground-up rewrite of AngularJS'.
- Angular does not have a concept of "scope" or controllers, instead it uses a hierarchy of components as
its primary architectural characteristic.
- Angular has a different expression syntax, focusing on "[ ]" for property binding, and "( )" for event
- Modularity – much core functionality has moved to modules
- Angular recommends the use of Microsoft's TypeScript
language, which introduces the following features:
- Class-based Object Oriented Programming
- Static Typing
TypeScript is a superset of ECMAScript
6 (ES6), and is backwards compatible with ECMAScript 5 (
- For/Of loops
- Python-style generators
- Dynamic loading
- Asynchronous template compilation
- Iterative callbacks provided by RxJS. RxJS limits state visibility and debugging, but these can be solved
with reactive add-ons like ngReact or ngrx.