Angular

Angular (commonly referred to as “Angular 2+” or “Angular v2 and above”) is a TypeScript-based open-source web application framework 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 injection.

Angular was designed as 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 binding
  • Modularity – much core functionality has moved to modules
  • Angular recommends the use of Microsoft’s TypeScript language, which introduces the following features:
    • Static Typing, including Generics
    • Annotations
  • TypeScript is a superset of ECMAScript 6 (ES6), and is backwards compatible with ECMAScript 5 (i.e.: JavaScript).
  • Dynamic loading
  • Asynchronous template compilations
  • Iterative callbacks provided by RxJS. RxJS limits state visibility and debugging, but these can be solved with reactive add-ons like ngReact or ngrx.
  • Support for Angular Universal, which runs Angular applications on servers