DEV Community

Cover image for Angular Signals: six months of production observations
Yasin Demir
Yasin Demir

Posted on • Originally published at ysndmr.com

Angular Signals: six months of production observations

Six months ago I started migrating the MKX Capital frontend from a BehaviorSubject-heavy architecture to Angular Signals. Here is what I learned.

Where Signals win

Computed state is where Signals are genuinely superior to RxJS. With computed(), derived state is lazy, memoized, and glitch-free. The mental model is simpler: a Signal is a value, not a stream.

Where they fall short

Time-based operations. Anything involving debounceTime, throttleTime, or complex multicasting still belongs in RxJS. The async pipe story for Signals is better with toSignal(), but the interop layer adds cognitive overhead.

The rule I settled on

Signals for synchronous reactive state. RxJS for async streams (HTTP, WebSockets, timers). The two cooperate well via toSignal() and toObservable().


Originally published on ysndmr.com.

Top comments (0)