Blog

Notes on the .Net ecosystem, Angular, Software Architecture, Machine Learning and CyberSecurity

← All posts
Angular 22 in practice: what really changed
  • Angular 22
  • Signals

Angular 22 in practice: what really changed

In the article about not upgrading to Angular 22 I explained why one of my projects was still stuck on Angular 21, because of dependencies that didn't support the new version yet. RockPlayer was born after that, without that baggage, so it's possible to use the newest version from the very first commit.

OnPush became the default

Starting with Angular 22, the default change detection strategy became OnPush instead of checking the whole component tree on every event. This matters for RockPlayer because most of the time the screen just sits there, with a song playing, with no new data arriving, and it makes no sense at all to keep checking any component for changes.

Signal Forms arrived stable

RockPlayer's onboarding, that screen where you pick your favorite bands, is literally a form. It's the perfect place to actually use this, and that is exactly what happens in article 7 of this series.

HttpClient started using Fetch under the hood

This is transparent to the code we write, HttpClient keeps the same API, but it explains why some request cancellation behavior may change subtly compared to earlier versions.

What this means for RockPlayer

Components reacting to signals, a form as a signal, no NgModule anywhere, and no dependency on Zone.js to know when to redraw the screen. With the theory closed out, the next article starts building RockPlayerApi, layer by layer.

Sources