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
Lightweight Architectures with Sheriff and Angu...
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Manfred Steyer
PRO
April 03, 2023
Programming
1.2k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Lightweight Architectures with Sheriff and Angular's Latest Innovations
Manfred Steyer
PRO
April 03, 2023
More Decks by Manfred Steyer
See All by Manfred Steyer
Signal Forms: Details & Live Coding @enterJS 2026 in Mannheim
manfredsteyer
PRO
0
97
Strategic Design in the Frontend: Moduliths & Micro Frontends @DDDEurope
manfredsteyer
PRO
0
93
Agentic UI
manfredsteyer
PRO
0
140
Signal Forms: Beyond the Basics @ngBaguette 2026 in Paris
manfredsteyer
PRO
0
240
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
97
Signal Forms: Beyond the Basics @ngBelgrade 2026
manfredsteyer
PRO
0
220
Other Decks in Programming
See All in Programming
Javaの型とAI時代に型が大事な理由 / java types and type in AI era
kishida
2
120
AI駆動開発で崩れていくコードベースを立て直す
kyoko_nr_nr
1
450
ローカルLLMを使ってB2Bサービスを作っていての学び
yaotti
0
160
依存関係から依存物へ―Dependencyという言葉の歴史をひも解く
j_lee
0
110
気づいたらRubyで100作品 ー クリエイティブコーディングが生活の一部になるまで / 100 Ruby Sketches Later: How Creative Coding Became Part of My Life
chobishiba
3
560
Observability in Practice:Grafana 與 Edge Device SRE 的那些事
blueswen
0
160
タクシーアプリ『GO』の バックエンド開発のおける AI利活用と若者のすべて
pyama86
3
2k
Why Laravel apps break—Mastering the fundamentals to keep them maintainable
kentaroutakeda
1
350
OSもどきOS
arkw
0
530
Copilot CLI の継戦能力を高める コンテキスト管理
nozomutu
1
1.2k
LLM本来の能力を解き放つサンドボックス技術とAI民主化への適用
yukukotani
3
3.6k
AI 時代のソフトウェア設計の学び方
masuda220
PRO
29
12k
Featured
See All Featured
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
140
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
4k
Fashionably flexible responsive web design (full day workshop)
malarkey
408
66k
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
220
The Cult of Friendly URLs
andyhume
79
6.9k
Chasing Engaging Ingredients in Design
codingconduct
0
220
Designing for Timeless Needs
cassininazir
1
250
Product Roadmaps are Hard
iamctodd
PRO
55
12k
Fireside Chat
paigeccino
42
3.9k
Everyday Curiosity
cassininazir
0
230
sira's awesome portfolio website redesign presentation
elsirapls
0
280
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
1
3.6k
Transcript
@ManfredSteyer Lightweight Architectures With Sheriff and Angular's Latest Innovations ManfredSteyer
@ManfredSteyer
@ManfredSteyer Manfred Steyer
@ManfredSteyer
@ManfredSteyer NgModules + EcmaScript Modules import { NgModule } from
'@angular/core'; import { BrowserModule } from '@angular/platform-browser'; import { AppComponent } from './app.component'; […] @NgModule({ imports: [BrowserModule, OtherModule], declarations: [AppComponent, OtherComponent, OtherDirective], providers: [], bootstrap: [AppComponent], }) export class AppModule {} TypeScript Modules Angular Modules
@ManfredSteyer @Component({ standalone: true, imports: [ […], FlightCardComponent, CityPipe, CityValidator,
], selector: 'flight-search', templateUrl: '…' }) export class FlightSearchComponent { […] }
@ManfredSteyer @Component({ standalone: true, imports: [ […], FlightCardComponent, CityPipe, CityValidator,
], selector: 'flight-search', templateUrl: '…' }) export class FlightSearchComponent { […] }
@ManfredSteyer
@ManfredSteyer Small and Medium Apps: Folder per Feature
@ManfredSteyer Small and Medium Apps: Folder per Feature // index.ts
== Public API export * from './flight-booking.routes';
@ManfredSteyer Medium and Large Apps: Folder per Domain
@ManfredSteyer Restricting Access b/w Domains, etc. on a library basis
@ManfredSteyer Restricting Access b/w Domains, etc. on a folder basis
Credits to: Rainer Hahnekamp, AngularArchitects @softarc/eslint-plugin-sheriff
@ManfredSteyer 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 Shared Kernel (if really needed) & other libs Smart Comp. Dumb Comp.
@ManfredSteyer
@ManfredSteyer Free eBook ANGULARarchitects.io/standalone Standalone Components Download here:
@ManfredSteyer • Maintainable Architectures • 🆕🔥 Standalone and Sheriff •
Micro Frontends and Module Federation • 🆕🔥 Signals and Your Architecture: CD, NGRX, RxJS-Interop Public or Company Training, Remote or On-Site German: angulararchitects.io/workshop-de English: angulararchitects.io/workshop-en
@ManfredSteyer Modern Angular: Lightweight Architectures Sheriff: Enforce your Architecture Domains
and Layers Prevent Coupling
@ManfredSteyer d Slides & Examples Remote Company Workshops and Consulting
http://angulararchitects.io