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
Sustainable Angular Architectures: Strategic Design with Nx Monorepos
Search
Manfred Steyer
PRO
November 10, 2020
Programming
1
340
Sustainable Angular Architectures: Strategic Design with Nx Monorepos
Free eBook about this topic:
https://www.angulararchitects.io/book/
Manfred Steyer
PRO
November 10, 2020
Tweet
Share
More Decks by Manfred Steyer
See All by Manfred Steyer
Native Federation: The Future of Micro Frontends in Angular
manfredsteyer
PRO
0
43
The New NGRX Signal Store for Angular: 3+n Flavors of the Signal Store
manfredsteyer
PRO
0
31
Micro Frontends with Modern Angular and Island Architectures @ijs London 2024
manfredsteyer
PRO
0
85
Modern State Management in Angular: 3+n Flavors of the Signal Store @ijs London 2024
manfredsteyer
PRO
0
80
Changed Rules: Architectures with Lightweight Stores
manfredsteyer
PRO
0
240
Migrating to Signals: A Practical Workshop
manfredsteyer
PRO
0
420
Micro Frontends with Web Standards
manfredsteyer
PRO
1
300
The New NGRX Signal Store for Angular: 3+n Flavors
manfredsteyer
PRO
1
220
Leveraging the new NGRX Signal Store
manfredsteyer
PRO
0
170
Other Decks in Programming
See All in Programming
冗長なエラーログを削減し、スタックトレースを手に入れる / Reducing Verbose Error Logs and Obtaining Stack Traces
upamune
0
840
Git Lint
bkuhlmann
4
750
Build Apps for iOS, Android & Desktop in 100% Kotlin With Compose Multiplatform (mDevCamp 2024)
zsmb
0
360
try!Swift Tokyo 2024 参加報告 LT
akidon0000
1
220
From Spring Boot 2 to Spring Boot 3 with Java 21 and Jakarta EE
ivargrimstad
0
180
Zero Waste, Radical Magic, and Italian Graft – Quarkus Efficiency Secrets
hollycummins
0
230
AWS CDKコントリビュートTIPS / aws-cdk-contribution-tips
gotok365
3
230
Anthropic Cookbook のおすすめレシピ
schroneko
7
1k
MetricKitで予期せぬ終了を検知する話 / Detect unexpected termination with MetricKit
nekowen
1
190
GitHub Actionsで泣かないためにやっておきたい設定 / Recommended GHA settings to avoid crying
pinkumohikan
3
540
try! Swift Tokyo 2024 参加報告 / try! Swift Tokyo 2024 Report
hironytic
0
210
Prepare for Jakarta EE 11 - Performance and Developer Productivity
ivargrimstad
0
880
Featured
See All Featured
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
30
6k
The Brand Is Dead. Long Live the Brand.
mthomps
49
29k
YesSQL, Process and Tooling at Scale
rocio
164
13k
Principles of Awesome APIs and How to Build Them.
keavy
121
16k
The Mythical Team-Month
searls
216
42k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
221
21k
We Have a Design System, Now What?
morganepeng
43
6.8k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
34
8.9k
Designing with Data
zakiwarfel
96
4.8k
Documentation Writing (for coders)
carmenintech
60
3.9k
Building a Scalable Design System with Sketch
lauravandoore
456
32k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
19
1.7k
Transcript
@ManfredSteyer ManfredSteyer Manfred Steyer, ANGULARarchitects.io Sustainable Angular Architectures: Strategic Design
with Nx Monorepos
@ManfredSteyer
@ManfredSteyer
@ManfredSteyer
@ManfredSteyer Methodology for bridging the gap b/w requirements and architecture/
design
@ManfredSteyer Monolith? Flight System Flight System
@ManfredSteyer Booking Booking Check-in Check-in Boarding Boarding Luggage Luggage Sub-Domains
@ManfredSteyer
@ManfredSteyer
@ManfredSteyer Manfred Steyer
@ManfredSteyer
@ManfredSteyer Monorepo Structure
@ManfredSteyer Advantages Everyone uses the latest versions No version conflicts
@ManfredSteyer Two Flavors • Like Workspaces/Solutions in different IDEs Project
Monorepo • E. g. used at Google or Facebook Company-wide Monorepo
@ManfredSteyer Moving back and forth Npm Registry
@ManfredSteyer Tooling & Generator https://nrwl.io/nx
@ManfredSteyer Visualize Module Structure
@ManfredSteyer Creating a Workspace with NX npm install -g @angular/cli
npm init nx-workspace myworkspace cd workspace ng generate app my-app ng generate lib my-lib ng serve --project my-app ng build --project my-app
@ManfredSteyer
@ManfredSteyer Booking Booking Boarding Boarding Shared Shared Feature Feature Feature
Feature Feature Feature Feature Feature Feature Feature UI UI UI UI UI UI UI UI UI UI UI UI UI UI UI UI UI UI Domain Domain Domain Domain Domain Domain Domain Domain Domain Domain Domain Domain Util Util Util Util Util Util Util Util Util Util Util Util Enterprise Monorepo Patterns, Nrwl 2018: https://tinyurl.com/y2jjxld7 @ManfredSteyer Smart Comp. Dumb Comp.
@ManfredSteyer Booking Booking Boarding Boarding Shared Shared Feature Feature API
API Feature Feature Feature Feature Feature Feature Feature Feature UI UI UI UI UI UI UI UI UI UI UI UI UI UI UI UI UI UI Domain Domain Domain Domain Domain Domain Domain Domain Domain Domain Domain Domain Util Util Util Util Util Util Util Util Util Util Util Util @ManfredSteyer
@ManfredSteyer Booking Booking Boarding Boarding Shared Shared Feature Feature API
API Feature Feature Feature Feature Feature Feature Feature Feature UI UI UI UI UI UI UI UI UI UI UI UI UI UI UI UI UI UI Domain Domain Domain Domain Domain Domain Domain Domain Domain Domain Domain Domain Util Util Util Util Util Util Util Util Util Util Util Util @ManfredSteyer
@ManfredSteyer
@ManfredSteyer • • •
@ManfredSteyer
@ManfredSteyer Distributed Cache 1) npm install @apployees-nx/level-task-runner -D 2) npm
install mongodown -D 3) Configure @apployees-nx/level-task-runner in nx.json
@ManfredSteyer
@ManfredSteyer Works with Several Databases MongoDB Redis MySQL PostgreSQL …
@ManfredSteyer Where‘s the Catch? Inofficial Solution Official Solution: Nx Cloud
Nx Cloud: Far more possibilities
@ManfredSteyer Free eBook https://ANGULARarchitects.io/book
@ManfredSteyer
• • •
None
@ManfredSteyer d Slides & Examples Public: Frankfurt, Munich, Vienna In-House:
everywhere http://softwarearchitekt.at/workshops