The Summary of Different Approaches

Old School Angular 1.x Angular 1.x Best Practices Angular Next Angular 2
Nested scopes ("$scope", watches) Used heavily Avoided Avoided Gone
Directives vs controllers Use as alternatives Used together Directives as components Component directives
Controller and service implementation Functions Functions ES6 classes ES6 classes
Module system Angular's modules Angular's modules ES6 modules ES6 modules
Requires a transpiler No No TypeScript TypeScript