Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Migration to Signals, Resource API, and NgRx S...
Search
Manfred Steyer
PRO
October 21, 2025
Programming
320
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Migration to Signals, Resource API, and NgRx Signal Store
Manfred Steyer
PRO
October 21, 2025
More Decks by Manfred Steyer
See All by Manfred Steyer
Signal Forms: Details & Live Coding @enterJS 2026 in Mannheim
manfredsteyer
PRO
0
160
Strategic Design in the Frontend: Moduliths & Micro Frontends @DDDEurope
manfredsteyer
PRO
0
110
Agentic UI
manfredsteyer
PRO
0
180
Signal Forms: Beyond the Basics @ngBaguette 2026 in Paris
manfredsteyer
PRO
0
260
Agentic UI beyond Chats Architecture Patterns & Open Standards @ngMunich 05/2026
manfredsteyer
PRO
0
220
Agentic AI in the Frontend: Architectures with Open Standards @iJS London 2026
manfredsteyer
PRO
0
150
Agentic AI & UI: Arcitecture, HITL, Emerging Standards
manfredsteyer
PRO
0
180
Agentic UI Requires Standards: AG-UI, A2UI, and MCP Apps Work Together @Angular London
manfredsteyer
PRO
1
110
Signal Forms: Beyond the Basics @ngBelgrade 2026
manfredsteyer
PRO
0
220
Other Decks in Programming
See All in Programming
その問い、本当に正しいですか?AI時代のエンジニアに必要な哲学と認知科学 / ai-philosophy-cognitive-science
minodriven
11
5.9k
JavaDoc 再入門
nagise
1
370
生成AI時代にこそ効くGo | Why Go Works in the Age of Generative AI
mom0tomo
8
3.3k
TSKaigi Night Talks 2026_TypeScriptでサプライチェーンの整合性を型に閉じ込める
geekplus_tech
0
400
「なぜそう決めたのか」を残し続ける仕組み ― Notion AI カスタムエージェント × Slack連携による設計判断の自動記録 - NIKKEI Tech Talk #47
niftycorp
PRO
0
210
キャリア迷子上等 ─ "ない道"は自分で作ればいい
16bitidol
3
2.2k
TAKTでAI駆動開発の品質を設計する
j5ik2o
7
1.4k
Go1.27で導入されるジェネリクスメソッドでできること
mackee
0
150
CSC307 Lecture 17
javiergs
PRO
0
320
AIだと陥りがちなJakarta EE最新技術への移行時の落とし穴と解決策
tnagao7
0
110
肥大化するレガシーコードに立ち向かうためのインターフェース分離と依存の逆転 / JJUG CCC 2026 Spring
hirokunimaeta
0
580
エージェンティックRAGにAWSで入門しよう!
har1101
8
1.7k
Featured
See All Featured
XXLCSS - How to scale CSS and keep your sanity
sugarenia
250
1.3M
Practical Orchestrator
shlominoach
191
11k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
28
3.5k
My Coaching Mixtape
mlcsv
0
150
Code Reviewing Like a Champion
maltzj
528
40k
RailsConf 2023
tenderlove
30
1.5k
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
260
Technical Leadership for Architectural Decision Making
baasie
3
420
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4.1k
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
390
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.8k
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
1.1k
Transcript
@ManfredSteyer @ManfredSteyer Migration to Signals, Resource API, and NgRx Signal
Store Manfred Steyer, ANGULARarchitects.io
@ManfredSteyer Application Code as a Script
@ManfredSteyer Signals => Reactive Programming => Paradigm Shift!
@ManfredSteyer Marble Run
@ManfredSteyer Marble Run Data Binding
@ManfredSteyer Agenda #1 Signals #2 Resource API #3 Effects #4
SignalStore #5 Mutation API #6 Signal Forms
@ManfredSteyer 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
@ManfredSteyer @ManfredSteyer 8 Signals 101
@ManfredSteyer Signals: Simple Reactivity Signal as Producer 4711 Consumer read
set notify 4712
@ManfredSteyer Component With Signals flights = signal<Flight[]>([]); const flights =
await this.flightService.findAsPromise(from, to); this.flights.set(flights); <div *ngFor="let f of flights()"> <flight-card [item]="f" /> </div>
@ManfredSteyer @ManfredSteyer 11 DEMO
@ManfredSteyer @ManfredSteyer 12 Race Conditions
@ManfredSteyer Resource Prevents Race Conditions Pancakes Sacher Cake Ice Cream
Pancakes
@ManfredSteyer Resource Prevents Race Conditions Pancakes Sacher Cake Ice Cream
Pancakes „switchMap semantics“
@ManfredSteyer @ManfredSteyer 15 Effects
@ManfredSteyer Connecting Reactive and Imperative World
@ManfredSteyer
@ManfredSteyer @ManfredSteyer 18 • Drawing on a canvas • Manual
DOM manipulations • Logging • Synching with LocalStore Ideal-typical Tasks Rendering (and similar tasks …) Stuff, you cannot do with data binding
@ManfredSteyer @ManfredSteyer 19 DEMO
@ManfredSteyer @ManfredSteyer 20 Architecture Rule #1 Derive state where possible
(sync: computed, async: Resource API) Architecture Rule #2 Avoid effects for triggering business logic! Architecture Rule #3 Reactive Helpers (e.g., Resource API) streamline your reactive flow Architecture Rules
@ManfredSteyer @ManfredSteyer 21 Stores
@ManfredSteyer Stores Streamline Reactive Flow Component Store "Intention" Signal sync/
async computed() computed()
@ManfredSteyer @ManfredSteyer 23 Two Reasons for a Store Manage State
Streamline Dataflow
@ManfredSteyer
@ManfredSteyer
@ManfredSteyer
@ManfredSteyer @ManfredSteyer 27 NGRX Signal Store
@ManfredSteyer NGRX Signal Store export const FlightBookingStore = signalStore( {
providedIn: 'root' }, […] );
@ManfredSteyer NGRX Signal Store export const FlightBookingStore = signalStore( {
providedIn: 'root' }, withState({ from: 'Paris', to: 'London', […] }), […] );
@ManfredSteyer NGRX Signal Store export const FlightBookingStore = signalStore( {
providedIn: 'root' }, withState({ from: 'Paris', to: 'London', […] }), withComputed(([…]) => ({ […] })), withMethods(([…]) => ({ })), withHooks({ […] }) );
@ManfredSteyer Extensions export const FlightBookingStore = signalStore( { providedIn: 'root'
}, withState({ from: 'Paris', to: 'London', […] }), withComputed(([…]) => ({ […] })), withMethods(([…]) => ({ })), withHooks({ […] }), withResource([…]}), withDevtools([…]}), withUndoRedo(), );
@ManfredSteyer @ManfredSteyer 32 DEMO
@ManfredSteyer @ManfredSteyer 33 Modern Angular 2nd Edition angularArchitects.io/modern Free eBook
@ManfredSteyer Summary Signals: Reactive Programming Derive State Effects: Not for
Biz Logic Stores Streamline Reactivity
@ManfredSteyer Marble Run
@ManfredSteyer Marble Run Data Binding
@ManfredSteyer 37 [Social Media] Manfred Steyer [web] ANGULARarchitects.io Manfred Steyer
@ Manfred Steyer Slides & Examples Remote Company Workshops and Consulting http://angulararchitects.io