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
Modern Angular Architectures With Nx and Lightw...
Search
Manfred Steyer
PRO
May 24, 2024
Programming
0
410
Modern Angular Architectures With Nx and Lightweight Stores @ngBelgrade 2024
Manfred Steyer
PRO
May 24, 2024
Tweet
Share
More Decks by Manfred Steyer
See All by Manfred Steyer
All About Angular's New Signal Forms
manfredsteyer
PRO
0
120
Your Perfect Project Setup for Angular @BASTA! 2025 in Mainz
manfredsteyer
PRO
0
170
Signals & Resource API in Angular: 3 Effective Rules for Your Architecture @BASTA 2025 in Mainz
manfredsteyer
PRO
0
120
Your Architecture as a Crime SceneForensic Analysis @BASTA! 2025 in Mainz, Germany
manfredsteyer
PRO
0
66
Your Architecture as a Crime SceneForensic Analysis @EntwicklerSummit Berlin 2025
manfredsteyer
PRO
0
39
Advanced Micro Frontends: Multi Version/ Framework Scenarios
manfredsteyer
PRO
0
400
Advanced Micro Frontends: Multi Version/ Framework Scenarios @WAD 2025, Berlin
manfredsteyer
PRO
0
660
Modern Angular with Signals and Signal Store:New Rules for Your Architecture @enterJS Advanced Angular Day 2025
manfredsteyer
PRO
0
530
The Missing Link in Angular‘s Signal Story Resource API and httpResource @ngRome 2025
manfredsteyer
PRO
0
170
Other Decks in Programming
See All in Programming
大規模アプリのDIフレームワーク刷新戦略 ~過去最大規模の並行開発を止めずにアプリ全体に導入するまで~
mot_techtalk
1
440
CSC509 Lecture 06
javiergs
PRO
0
260
デミカツ切り抜きで面倒くさいことはPythonにやらせよう
aokswork3
0
230
アメ車でサンノゼを走ってきたよ!
s_shimotori
0
220
Goで実践するドメイン駆動開発 AIと歩み始めた新規プロダクト開発の現在地
imkaoru
4
820
バッチ処理を「状態の記録」から「事実の記録」へ
panda728
PRO
0
150
XP, Testing and ninja testing ZOZ5
m_seki
3
630
チームの境界をブチ抜いていけ
tokai235
0
170
明日から始めるリファクタリング
ryounasso
0
140
Leading Effective Engineering Teams in the AI Era
addyosmani
2
320
タスクの特性や不確実性に応じた最適な作業スタイルの選択(ペアプロ・モブプロ・ソロプロ)と実践 / Optimal Work Style Selection: Pair, Mob, or Solo Programming.
honyanya
3
160
CSC305 Lecture 04
javiergs
PRO
0
270
Featured
See All Featured
Fireside Chat
paigeccino
40
3.7k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Designing for Performance
lara
610
69k
Embracing the Ebb and Flow
colly
88
4.8k
Building an army of robots
kneath
306
46k
Building Better People: How to give real-time feedback that sticks.
wjessup
369
20k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
359
30k
Done Done
chrislema
185
16k
Principles of Awesome APIs and How to Build Them.
keavy
127
17k
For a Future-Friendly Web
brad_frost
180
9.9k
Building Adaptive Systems
keathley
43
2.8k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Transcript
AngularArchitects.io | @ManfredSteyer Modern Angular Architectures With Nx and Lightweight
Stores
"Krapfen"
None
None
Small Change => Huge Impact
What if we changed for a lightweight store?
How do Lightweight Stores Change Architecture Rules?
Stores Streamline Reactive Flow Component Lightweight Store method() Observables, Signals,
etc. sync/ async
Some Lightweight Stores … Akita Elf Pinia NGRX Signal Store
Agenda 1) Baseline Architecture 2) How Large Should a Store
be? 3) Where To Put The Store? 4) Global and/or Local State? 5) Preventing Cycles, Redundancies, and Inconsistencies
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
Baseline Architecture
Stack NGRX Signal Store Angular Nx Monorepo
Booking Boarding Shared Feature Feature Feature Feature Feature UI UI
UI UI UI UI UI UI UI Data Data Data Data Data Data Util Util Util Util Util Util Enterprise Monorepo Patterns, Nrwl 2018: https://tinyurl.com/y2jjxld7 @ManfredSteyer Smart Comp. Dumb Comp.
Nx Libs: Modularization Incremental CI/CD Build Cache Parallelization in Builds
Sheriff: Boundaries on a per-folder basis Rainer Hahnekamp, AngularArchitects @softarc/eslint-plugin-sheriff
Nx & Sheriff Folders: Modularization Incremental CI/CD Build Cache Parallelization
in Builds Sheriff
Demo
How Large Should it be?
Feature Sub- Feature
Where to put the Store?
Booking Boarding Shared Feature Feature Feature Feature Feature UI UI
UI UI UI UI UI UI UI Domain Domain Domain Domain Domain Domain Util Util Util Util Util Util Enterprise Monorepo Patterns, Nrwl 2018: https://tinyurl.com/y2jjxld7 @ManfredSteyer Feature
Feature UI Data Util Redux Feature Slice
Feature UI Data Util Lightweight Stores Cmp Cmp Lightweight Stores
can live everywhere! Component vs. Module Exposed vs. Hidden
Demo
Global vs. Local State?
Global vs. Local FeatureStore DomainStore FeatureService UtilityStore
Cycles, Redundancies, and Inconsistencies
Let's think it through … • Layering • Prevent Stores
accessing each other • Redux DevTools
Free eBook (6th Edition) angularArchitects.io/ebook
Conclusion Lightweight Stores … … have the size of a
(sub-)feature … can live everywhere … can be orchestrated by a feature service … can leverage layering to prevent cycles … should use DevTools
"Krapfen"
ManfredSteyer AngularArchitects.io Slides & Examples