AngularJS Legacy Maintenance

AngularJS Legacy Maintenance

AngularJS (1.x) reached end of life in 2022 and is not recommended for new projects -- this course helps you read, maintain, and safely modernize an existing AngularJS codebase.

intermediate12 lessons4 modules7h total

Who it's for

Developers who need to read, maintain, or plan a modernization of an existing AngularJS codebase -- not a recommended starting point for new projects.

What you'll be able to do

  • Read and predict the behavior of $scope, two-way binding, directives, and the digest cycle in real AngularJS code
  • Explain the digest cycle's performance implications and apply real mitigations like one-time binding
  • Evaluate whether an existing AngularJS application is a better fit for incremental migration (ngUpgrade) or a full rewrite

Not started — 12 lessons, no account required.

Start this course

Practice this course →Add to a study plan →Interview questions

Legacy Context

End-of-life status, $scope/two-way binding, and modules/controllers.

  1. AngularJS: Legacy Context and Why You're Learning It

    AngularJS's end-of-life status, and why this course exists for maintenance, not new projects.

    15 min
  2. $scope and Two-Way Data Binding

    AngularJS's $scope object and how ng-model creates two-way binding.

    18 min
  3. Modules and Controllers

    Organizing AngularJS code with angular.module and connecting controllers to the DOM.

    15 min

Directives & Services

Built-in and custom directives, and services/factories with dependency injection.

  1. Built-in Directives: ng-if, ng-repeat, ng-model

    Reading the most common AngularJS directives you'll encounter in existing templates.

    18 min
  2. Custom Directives

    How a custom AngularJS directive is defined, and reading one in existing code.

    18 min
  3. Services and Factories

    AngularJS's .service() and .factory() for sharing logic, and its dependency injection.

    18 min

Digest Cycle & Data Flow

The digest cycle, $http, and performance pitfalls.

  1. The Digest Cycle

    What $digest and $apply do, and why later frameworks moved away from this model.

    20 min
  2. The $http Service

    AngularJS's built-in $http service for API calls, and how it compares to modern fetch.

    15 min
  3. Common Performance Pitfalls

    Watcher-count explosion and other real, well-documented AngularJS performance issues.

    15 min

Maintaining & Modernizing

Reading existing code, testing legacy code, and modernization strategy.

  1. Reading and Safely Modifying Existing AngularJS Code

    A practical approach to understanding and safely changing an unfamiliar AngularJS codebase.

    18 min
  2. Testing Legacy AngularJS Code

    The classic Karma/Jasmine testing setup used by AngularJS-era applications.

    15 min
  3. Modernization Strategy: Incremental Migration or Rewrite

    Weighing incremental migration (ngUpgrade) against a full rewrite, and how to decide.

    20 min

Where to go next

Optional -- these build well on what you just learned, but any course can come next.