Signals vs Observables: When to Use Each
Understand the difference between Signals and RxJS Observables, and make the right choice in real projects.
Both Signals and Observables are reactive, but they solve different kinds of problems. ## Quick comparison ### Signals are great for - local UI state - derived values inside components - simple reactive logic without stream operators ### Observables are great for - async streams (HTTP, websockets, events) - cancelation and operator pipelines - complex async workflows (switchMap, retry, debounceTime) ## Think of it like this ```mermaid flowchart LR A[Signals] --> B[Local UI State] A --> C[Derived UI Values] D[Observables] --> E[Async Streams] D --> F[Event Pipelines] D --> G[Cancelable Requests] ``` ## Best practice for modern Angular teams - Use Signals for component state. - Use Observables for external async data. - Convert between them when needed (without mixing everything). > Next: Converting Observables to Signals and using them together cleanly.