Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
3 Effective Rules for Using Signals in Angular
Search
Manfred Steyer
PRO
November 07, 2024
Programming
480
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
3 Effective Rules for Using Signals in Angular
Manfred Steyer
PRO
November 07, 2024
More Decks by Manfred Steyer
See All by Manfred Steyer
Human in the Loop Beyond Approval: Toward True Collaboration @FrontMania 2026 in Utrecht
manfredsteyer
PRO
0
33
Agentic UI: Where the Agent meets the User @FrontMania 2026 in Utrecht
manfredsteyer
PRO
0
30
A2UI as an Architecture Question: Agentic UI Between AI Freedom and Control
manfredsteyer
PRO
0
85
AI-Ready Angular Architectures Architecture as Executable Contract
manfredsteyer
PRO
0
230
Nostalgia Meets Technology: Super Mario with TypeScript @BASTA 2026 in Mainz, Germany
manfredsteyer
PRO
0
44
Beyond Chatbots: Agentic UI with Open Standards @AGNTcon 2026 in Amsterdam
manfredsteyer
PRO
0
140
Next-Level Frontends: Agentic Web UIs Under the Hood
manfredsteyer
PRO
0
100
Agentic UI with Open Standards @ngGraz Sep 2026
manfredsteyer
PRO
0
110
Agentic UI with Open Standards @GDG Salzburg, Bgl & Prishtina
manfredsteyer
PRO
0
92
Other Decks in Programming
See All in Programming
AWS CDKのカスタムリソースでContinuum(旧Security Agent)を実装した話 | Implementing Continuum (formerly Security Agent) via AWS CDK Custom Resource
akihisaikeda
2
140
カツオ、ご期待ください
suneo3476
0
150
更なる可用性を求めて、5年間運用したKotlinのアプリケーションをGoでリプレイスする話
ken_tunc
0
450
見えないものを探る要求要件定義に必要な基本的思考 / invisible-requirement-thinking
minodriven
15
7.5k
RAG の “R” を Swift で覗いてみる 〜「意味から探す」検索の仕組み〜
nao_randd
0
120
App Storeの外へ──日本のiOSサイドローディング入門 for iOSDC Japan 2026
yuukiw00w
0
320
外から家のPCの電源入れたい!をPHPで解決する
kawashimo0
1
110
Agents on Rails - Rails at Scale 2026
irinanazarova
0
340
UnityでSystem.Net.WebSocketsなWebSocketサーバが動かないのでUnity Monoのコードを覗いてみた / about implementing websocket server with unity mono
drumath2237
1
550
FreeBSDでZabbixを動かす
kenkino
0
360
C#の現在地 進化の歴史と、AI時代の.NET Everywhere
neuecc
5
4.9k
ハーネス設計入門 〜 基礎知識の整理から実務へのステップアップ 〜
kinopeee
20
21k
Featured
See All Featured
How Software Deployment tools have changed in the past 20 years
geshan
2
35k
The Curse of the Amulet
leimatthew05
3
15k
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
490
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
610
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
2
300
Designing for humans not robots
tammielis
254
26k
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
420
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
We Have a Design System, Now What?
morganepeng
55
8.4k
Fireside Chat
paigeccino
43
4.1k
Believing is Seeing
oripsolob
1
240
Agile that works and the tools we love
rasmusluckow
331
22k
Transcript
AngularArchitects.io | @ManfredSteyer | @RainerHahnekamp 3 Effective Rules for Using
Signals in Angular
None
None
None
Agenda • Austrian Desserts • Computed • Resource API •
Effects • Stores
Result 3 Rules (of thumb)
About me… Manfred Steyer, ANGULARarchitects.io (Remote) Angular Workshops and Consulting
Google Developer Expert for Angular Blog, Books, Articles, and Talks about Angular Manfred Steyer
Austrian Desserts: Example App
Demo
Computed: Extremely Unterrated!
Reactive Programming: Paradigm Shift!
Marble Run
Marble Run Data Binding
Reactive Flow with Computed desserts = signal<Dessert[]>([]); ratings = signal<DessertIdToRatingMap>({});
ratedDesserts = computed(() => this.toRated(this.desserts(), this.ratings()));
Reactive Flow with Computed desserts = signal<Dessert[]>([]); ratings = signal<DessertIdToRatingMap>({});
ratedDesserts = computed(() => this.toRated(this.desserts(), this.ratings()));
Demo Branch: 01a-add-signals
Demo Branch: 02a-input-signals
Reactive Flow with Computed desserts = signal<Dessert[]>([]); ratings = signal<DessertIdToRatingMap>({});
ratedDesserts = computed(() => this.toRated(this.desserts(), this.ratings())); originalName = signal(''); englishName = signal(''); Load Desserts
Resource API
Resource API dessertsResource = resource({ request: this.dessertsCriteria, loader: (param) =>
{ return this.#dessertService.findPromise(param.request); } }); Experimental in Angular 19
Resource API dessertsResource = resource({ request: this.dessertsCriteria, loader: (param) =>
{ return this.#dessertService.findPromise(param.request); } }); dessertsCriteria = computed(() => ({ originalName: this.originalName(), englishName: this.englishName(), })); desserts = this.dessertsResource.value; ratedDesserts = computed(() => this.toRated(this.desserts, …));
Resource Prevents Race Conditions Pancakes Sacher Cake Ice Cream Pancakes
„switchMap semantics“
Demo Branch: 2c-resource
Architecture Rule #1 Derive state where possible
Effects
Connecting Reactive and Imperative World
None
Ideal-typical Tasks • Drawing on a canvas • Manual DOM
manipulations • Logging • Synching with LocalStore Stuff, you cannot do with data binding Rendering (and similar tasks …)
Demo Branch: 04c-effects
Architecture Rule #2 Avoid effects propagating state and Signal writes
Instead: Reactive Helpers like Resource API @ngrx/signals ngxtension Your Own
…
Reactive Helpers: Effects Under the Hood
Demo Branch: 08b-details
Stores
None
None
None
Stores Streamline Reactive Flow Component Store "Intention" Signal sync/ async
computed() computed()
Demo Branch: 08b-details
Architecture Rule #3 Stores make your reactive flow more manageable
Free eBook (6th Edition) angularArchitects.io/ebook
Conclusion Architecture Rule #1 Derive state where possible Architecture Rule
#2 Avoid effects propagating state and Signal writes Architecture Rule #3 Stores make your reactive flow more manageable
None
Marble Run
AngularArchitects.io Slides & Examples ManfredSteyer