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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Manfred Steyer
PRO
May 23, 2025
Programming
590
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
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
170
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時代のUIはどこへ行く?その2!
yusukebe
21
7.3k
「なぜそう決めたのか」を残し続ける仕組み ― Notion AI カスタムエージェント × Slack連携による設計判断の自動記録 - NIKKEI Tech Talk #47
niftycorp
PRO
0
200
「AIで開発し、AIを届ける」をEvalでつなぐ 〜AIネイティブに始めるプロダクト開発の実践〜 / Connecting "Develop with AI, deliver AI" with Eval
rkaga
4
5.3k
Oxlintのカスタムルールの現況
syumai
6
1.1k
気圧・高度・GPSを記録&可視化するアプリ「Koudo」を作った話
hjmkth
1
270
C# and C++ Interoperability - cho-dotnetnew
harukasao
0
200
AI 輔助遺留系統現代化的經驗分享
jame2408
1
630
Go1.27で導入されるジェネリクスメソッドでできること
mackee
0
140
[2026年度第1回ORセミナー] 計画最適化ベンチャーと競技プログラミング人材
terryu16
0
270
Lemonade + Foundry Toolkit でお手軽アプリ開発
seosoft
1
360
Developing with AI Agents — Codex, Claude Code & Cowork Practical Guide
x5gtrn
PRO
0
1.3k
エンジニアと一緒にテストコードの設計と実装を改善した話
mototakatsu
0
200
Featured
See All Featured
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.5k
Designing Powerful Visuals for Engaging Learning
tmiket
1
420
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
240
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
62
54k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.7k
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9.1k
Art, The Web, and Tiny UX
lynnandtonic
304
22k
Speed Design
sergeychernyshev
33
1.9k
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.3k
Abbi's Birthday
coloredviolet
2
8.1k
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
290
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
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