What is the difference between AngularJS and Angular (2+)?
Quick Answer
AngularJS (1.x) and Angular (2+) are different frameworks that share a name. Angular is a complete rewrite: TypeScript, component-based (no $scope/controllers), a real change detection system (no digest cycle), RxJS observables, a CLI, and much better performance. AngularJS reached end of life at the start of 2022.
They're basically two different frameworks with a confusingly similar name. AngularJS is the 1.x version — JavaScript, controllers and $scope, two-way binding through the digest cycle. Angular from version 2 onwards is a ground-up rewrite in TypeScript, built around components, with proper change detection instead of dirty checking, RxJS for async, and a CLI. It's much faster and the architecture is completely different. AngularJS has been end-of-life since 2022, so any AngularJS work now is maintenance or migration.
- AngularJS: JS, MVC-ish, two-way binding via dirty checking, directives + controllers + services.
- Angular: components + templates, one-way data flow by default, DI with explicit tokens, ahead-of-time compilation, mobile support.
- Migration is a project — sometimes done incrementally with
ngUpgraderunning both side by side.