Building Performant Applications

Let’s learn about ngrx, a centralized state management system that sits on top of RxJS, as well as using clever RxJS tricks to track and optimize the performance of an Angular web application.

We'll cover the following

Before starting this chapter, let’s see some questions

  • Why do I want to read this?

    • Angular has incredible depth for those who know where to look. This chapter is a map to that depth.
  • What will I learn?

    • How Angular’s change detection works. How to write incredibly performant apps. How to manage state in a way that kills bugs before they happen.
  • What will I be able to do that I couldn’t do before?

    • You’ll be able to detect when things go sideways performance-wise and think about your application’s state from a new perspective.
  • Where are we going next, and how does this fit in?

    • This is your crowning achievement of the Angular section.

Angular is a powerful framework, with many knobs and levers to tweak, if you know where to look. This chapter will act as your guide to all those hidden details you might otherwise miss.


The first major topic is performance. Angular is a fast framework, but we can unintentionally create situations where pages drag to a halt, even on our shiny developer machines.

You’ll learn how to check for those performance issues and use Rx to work with the Angular framework to skip loads of unneeded operations.

State management in Angular

After that, you’ll tackle one of the biggest challenges modern-day application developers face: state management. While Angular itself doesn’t have a state management framework, members of Angular’s core team maintain the ngrx library for that purpose, which is considered the de facto solution.

Get hands-on with 1200+ tech skills courses.