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
Rethinking Data Access: The New httpResource in...
Search
Manfred Steyer
PRO
May 23, 2025
Programming
640
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Rethinking Data Access: The New httpResource in Angular
Manfred Steyer
PRO
May 23, 2025
More Decks by Manfred Steyer
See All by Manfred Steyer
Generative UI & AI-Assistants for Your Angular Solutions
manfredsteyer
PRO
1
410
Generative UI & AI-Assistants for Your Angular Solutions
manfredsteyer
PRO
0
180
Nostalgia Meets Technology: Super Mario with TypeScript
manfredsteyer
PRO
0
260
Signal Forms: Details & Live Coding @enterJS 2026 in Mannheim
manfredsteyer
PRO
0
280
Strategic Design in the Frontend: Moduliths & Micro Frontends @DDDEurope
manfredsteyer
PRO
0
190
Agentic UI
manfredsteyer
PRO
0
290
Signal Forms: Beyond the Basics @ngBaguette 2026 in Paris
manfredsteyer
PRO
0
330
Agentic UI beyond Chats Architecture Patterns & Open Standards @ngMunich 05/2026
manfredsteyer
PRO
0
280
Agentic AI in the Frontend: Architectures with Open Standards @iJS London 2026
manfredsteyer
PRO
0
200
Other Decks in Programming
See All in Programming
Discordを用いたラボオートメーション関連情報収集の自動化
noguhiro2002
0
410
メールのエイリアス機能を履き違えない
isshinfunada
0
250
AWS Transform Customによる Spring Boot 2.xから4.xへのVerUp
satoshi256kbyte
2
100
Go 1.27 における memory allocation の高速化
andpad
0
300
My Marp Sample
sinoue0108
0
110
承認済みなのに差戻しできてしまうバグ、型で潰せます
shinchit
0
110
170k Jobs a Day on GKE: Scaling Mercari's CI Platform - and What's Next for AI-Native Development
junyaokabe
0
120
Android CLI
fornewid
0
230
ソフトウェアエンジニアにとっての生成AI - 特性を知って使い倒す / generative ai for software enginner
kishida
7
2.1k
komatsuna「分散システムにおけるバグ分析手法」
komatsunaqa
0
270
freeeにおけるEvalsの実践例の紹介
freee
PRO
0
150
ソフトウェアラスタライザ
fadis
1
610
Featured
See All Featured
Are puppies a ranking factor?
jonoalderson
2
3.8k
The browser strikes back
jonoalderson
0
1.5k
Believing is Seeing
oripsolob
1
200
Building a Scalable Design System with Sketch
lauravandoore
463
34k
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
410
The untapped power of vector embeddings
frankvandijk
2
1.8k
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
290
Code Review Best Practice
trishagee
74
20k
How to train your dragon (web standard)
notwaldorf
97
6.8k
The SEO Collaboration Effect
kristinabergwall1
1
530
Fireside Chat
paigeccino
42
4k
Deep Space Network (abreviated)
tonyrice
0
270
Transcript
• Textmasterformat bearbeiten • Zweite Ebene Mastertextformat bearbeiten Rethinking Data
Access: The New httpResource in Angular ANGULARarchitects.io
• Textmasterformat bearbeiten • Zweite Ebene Mastertextformat bearbeiten Application Code
as a Script
• Textmasterformat bearbeiten • Zweite Ebene Mastertextformat bearbeiten Marble Run
• Textmasterformat bearbeiten • Zweite Ebene Mastertextformat bearbeiten Marble Run
Data Binding
• Textmasterformat bearbeiten • Zweite Ebene Mastertextformat bearbeiten 5 1)
Signal Graph 2) httpResource 3) DEMO 4) Signal Graph in Demo 5) Live Coding Agenda
• Textmasterformat bearbeiten • Zweite Ebene Mastertextformat bearbeiten 6 About
Me (Remote) Angular Workshops and Consulting Google Developer Expert for Angular Blog, Books, Articles, and Talks about Angular Manfred Steyer, ANGULARarchitects.io
• Textmasterformat bearbeiten • Zweite Ebene Mastertextformat bearbeiten 7 Reactive
Graph
• Textmasterformat bearbeiten • Zweite Ebene Mastertextformat bearbeiten 8 Building
Your Reactive Graph desserts = signal<Dessert[]>([]); ratings = signal<DessertIdToRatingMap>({}); ratedDesserts = computed(() => this.toRated(this.desserts(), this.ratings()));
• Textmasterformat bearbeiten • Zweite Ebene Mastertextformat bearbeiten 9 Building
Your Reactive Graph desserts = signal<Dessert[]>([]); ratings = signal<DessertIdToRatingMap>({}); ratedDesserts = computed(() => this.toRated(this.desserts(), this.ratings()));
• Textmasterformat bearbeiten • Zweite Ebene Mastertextformat bearbeiten desserts =
signal<Dessert[]>([]); ratings = signal<DessertIdToRatingMap>({}); ratedDesserts = computed(() => this.toRated(this.desserts(), this.ratings())); 10 Building Your Reactive Graph originalName = signal(''); englishName = signal(''); Load Desserts
• Textmasterformat bearbeiten • Zweite Ebene Mastertextformat bearbeiten 11 Resource
API
• Textmasterformat bearbeiten • Zweite Ebene Mastertextformat bearbeiten 12 Resource
API dessertsResource = resource({ params: this.dessertsCriteria, loader: (params) => { return this.#dessertService.findPromise(params.params); } });
• Textmasterformat bearbeiten • Zweite Ebene Mastertextformat bearbeiten 13 Resource
API dessertsResource = resource({ request: this.dessertsCriteria, loader: (params) => { return this.#dessertService.findPromise(params.params); } }); dessertsCriteria = computed(() => ({ originalName: this.originalName(), englishName: this.englishName(), })); desserts = this.dessertsResource.value; ratedDesserts = computed(() => this.toRated(this.desserts, …));
• Textmasterformat bearbeiten • Zweite Ebene Mastertextformat bearbeiten 14 httpResource
dessertsResource = httpResource(() => ({ url: 'http://demo.angulararchitects.io/...', params: { originalName: this.originalName(), englishName: this.englishName(), } })); desserts = this.dessertsResource.value; ratedDesserts = computed(() => this.toRated(this.desserts, …));
• Textmasterformat bearbeiten • Zweite Ebene Mastertextformat bearbeiten 15 DEMO
• Textmasterformat bearbeiten • Zweite Ebene Mastertextformat bearbeiten 16 Reactive
Graph in Our App
• Textmasterformat bearbeiten • Zweite Ebene Mastertextformat bearbeiten 17 canvas
(view child) style levelKey animation levelResource tilesMapResource tilesResource tilesMapProgress render (effect) levelOverview Resource
• Textmasterformat bearbeiten • Zweite Ebene Mastertextformat bearbeiten 20 DEMO
• Textmasterformat bearbeiten • Zweite Ebene Mastertextformat bearbeiten 21 1)
Build a reactive graph 1) Computed: Sync Derivation/ Readonly 2) Linked Signal: Sync Derivation/ Writable 3) Resource API: Async Derivation/ Writable 2) httpResource: fetching data within the graph 3) Service: creating httpResource Conclusion
• Textmasterformat bearbeiten • Zweite Ebene Mastertextformat bearbeiten Marble Run
• Textmasterformat bearbeiten • Zweite Ebene Mastertextformat bearbeiten 23 [Social
Media] Manfred Steyer [web] ANGULARarchitects.io Manfred Steyer @ Manfred Steyer Slides & Examples Remote Company Workshops and Consulting http://angulararchitects.io