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: Renovation for Your Applications
Search
Manfred Steyer
PRO
October 17, 2023
Programming
230
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Modern Angular: Renovation for Your Applications
Manfred Steyer
PRO
October 17, 2023
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
270
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
270
Agentic AI in the Frontend: Architectures with Open Standards @iJS London 2026
manfredsteyer
PRO
0
200
Other Decks in Programming
See All in Programming
ソフトウェアエンジニアにとっての生成AI - 特性を知って使い倒す / generative ai for software enginner
kishida
7
2.1k
<title><a id="</title>君はこのHTMLをパースできるか"></a></title> #雑LT_study
pizzacat83
0
170
そこに3びきプロダクトがいるじゃろう——生成AI時代における“価値が届かない理由”の構造
kosuket
0
570
まだ間に合う!今年の夏こそSchemeのマクロ展開器を完全理解!
omasanori
0
400
書籍「プロフェッショナルAI駆動開発」紹介スライド
juntaromatsumoto
0
300
複数の Claude Code が"放置"されてしまう問題をCLI ダッシュボードを自作して解決した話
sumihiro3
1
720
Discordを用いたラボオートメーション関連情報収集の自動化
noguhiro2002
0
390
仕様駆動開発の消費期限
watany
20
8.9k
実装をデザインガイドラインに追従させるための取り組み / 260731-dip-mosh-design-system
dachi023
0
7.6k
What's New in Android 2026
veronikapj
0
270
VibeCodingからAgenticWorkflowへ
starfish719
0
780
仕様書を書く前にハーネスを作る - Agent Native開発は「探索を速く、判定を固く」
gotalab555
4
1.7k
Featured
See All Featured
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
6k
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
6
1.2k
Build your cross-platform service in a week with App Engine
jlugia
234
19k
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
300
The SEO Collaboration Effect
kristinabergwall1
1
530
RailsConf 2023
tenderlove
30
1.5k
Imperfection Machines: The Place of Print at Facebook
scottboms
270
14k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
201
75k
Building AI with AI
inesmontani
PRO
1
1.2k
BBQ
matthewcrist
89
10k
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
390
The #1 spot is gone: here's how to win anyway
tamaranovitovic
3
1.1k
Transcript
@ManfredSteyer Renovation for Your Applications 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 bootstrapApplication(AppComponent, { providers: [ MyGlobalService, importProvidersFrom(LegacyModule), provideRouter(APP_ROUTES), ] });
@ManfredSteyer
@ManfredSteyer Free eBook ANGULARarchitects.io/standalone Standalone Components Download here:
@ManfredSteyer
@ManfredSteyer Signal as Producer 4711 Consumer read set notify 4712
@ManfredSteyer flights = signal<Flight[]>([]); const flights = await this.flightService.findAsPromise(from, to);
this.flights.set(flights); <div *ngFor="let f of flights()"> <flight-card [item]="f" /> </div>
@ManfredSteyer
@ManfredSteyer
@ManfredSteyer @if @if(auth.userName) { <h2>Welcome {{auth.userName}}!</h2> } @else { <h2>Welcome!</h2>
<p>Please log in!</p> }
@ManfredSteyer @if @if(auth.userName) { <h2>Welcome {{auth.userName}}!</h2> } @else if(auth.trial) {
<h2>Welcome to this trial version!</h2> <p>Please sign up to get the full version!</p> } @else { <h2>Welcome!</h2> <p>Please log in!</p> }
@ManfredSteyer @for @for(f of flights; track f.id) { <flight-card [item]="f"
[(selected)]="basket[f.id]" /> }
@ManfredSteyer @for @for(f of flights; track f.id) { <flight-card [item]="f"
[(selected)]="basket[f.id]" /> } @empty { <p>No flights found!</p> }
@ManfredSteyer @defer @defer (on viewport) { <app-lazy></app-lazy> } @placeholder {
<div>Placeholder</div> }
@ManfredSteyer
@ManfredSteyer d Slides & Examples Remote Company Workshops and Consulting
http://angulararchitects.io