×
Copy
Open
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Slide 1
Slide 1 text
@yourtwitter The State of Angular Minko Gechev twitter.com/mgechev github.com/mgechev blog.mgechev.com
Slide 2
Slide 2 text
@mgechev
Slide 3
Slide 3 text
@mgechev Framework
Slide 4
Slide 4 text
@mgechev Framework CLI Components
Slide 5
Slide 5 text
@mgechev Framework CLI Components i18n Language service Router Animations Forms PWA HTTP More!
Slide 6
Slide 6 text
@yourtwitter https://unsplash.com/photos/rafblRbne3o
Slide 7
Slide 7 text
@mgechev 2,500+ Projects at Google
Slide 8
Slide 8 text
@mgechev
Slide 9
Slide 9 text
Predictability vs Flexibility trade-offs Predictable Flexible
Slide 10
Slide 10 text
Static vs Dynamic trade-offs Static Dynamic
Slide 11
Slide 11 text
Static vs Dynamic trade-offs Static Dynamic Rust Haskell Idris C# / Java Go JavaScript TypeScript Ruby
Slide 12
Slide 12 text
Static vs Dynamic trade-offs Static Dynamic
Slide 13
Slide 13 text
• Compile-time optimizations • Excellent IDE/text editor support • Strict type checking • Source code visualization • Lazy component loading • Dynamic UI assembling • Fast (no) builds Static Dynamic
Slide 14
Slide 14 text
twitter.com/mgechev
Slide 15
Slide 15 text
twitter.com/mgechev 15% of bugs detectable at build time
Slide 16
Slide 16 text
twitter.com/mgechev
Slide 17
Slide 17 text
twitter.com/mgechev
Slide 18
Slide 18 text
• Compile-time optimizations • Excellent IDE/text editor support • Strict type checking • Source code visualization • Lazy component loading • Dynamic UI assembling • Fast (no) builds Static Dynamic
Slide 19
Slide 19 text
• Compile-time optimizations • Excellent IDE/text editor support • Strict type checking • Source code visualization • Lazy component loading • Dynamic UI assembling • Fast (no) builds Static Dynamic 2.0 4.0
Slide 20
Slide 20 text
• Compile-time optimizations • Excellent IDE/text editor support • Strict type checking • Source code visualization • Lazy component loading • Dynamic UI assembling • Fast (no) builds Static Dynamic 4.0 9.0
Slide 21
Slide 21 text
• Compile-time optimizations • Excellent IDE/text editor support • Strict type checking • Source code visualization • Lazy component loading • Dynamic UI assembling • Fast (no) builds Static Dynamic 9.0
Slide 22
Slide 22 text
@mgechev What’s new in Angular?
Slide 23
Slide 23 text
@mgechev v10 and beyond • Opt-in strict flag • Increase visibility
Slide 24
Slide 24 text
@mgechev • Opt-in strict flag • Increase visibility v10 and beyond
Slide 25
Slide 25 text
@mgechev Strict Mode Strict TypeScript type checking strictTemplates in Angular Opt-in ES5 support Opt-in CommonJS support Reduced side-effects
Slide 26
Slide 26 text
@mgechev
Slide 27
Slide 27 text
twitter.com/mgechev >15% of bugs detectable at build time
Slide 28
Slide 28 text
@mgechev Opt-in CommonJS
Slide 29
Slide 29 text
twitter.com/mgechev https://web.dev/commonjs-larger-bundles/
Slide 30
Slide 30 text
@mgechev • Opt-in strict flag • Increase visibility v10 and beyond
Slide 31
Slide 31 text
@mgechev
Slide 32
Slide 32 text
@mgechev Stability, DX, and Speed
Slide 33
Slide 33 text
@mgechev Byelog TypeScript 4 e2e testing Ivy libraries Trusted types Future RxJS Current projects MDC Web Harnesses
Slide 34
Slide 34 text
Byelog • Up to 50% in issue triage • 30% fewer issues in CLI • < 40 untriaged components issues
Slide 35
Slide 35 text
Ivy library distribution @Component({ selector: 'app', template: ' ...' }) class AppComponent { ... } export class AppComponent { ... } AppComponent.ɵcmp = ng.$ngDeclareComponent({ ... }); ngc publishedLibrary
Slide 36
Slide 36 text
Ivy library distribution ngl export class AppComponent { ... } AppComponent.ɵcmp = ng.$ngDeclareComponent({ ... }); export class AppComponent { ... } AppComponent.ɵcmp = ng.defineComponent({ ... });
Slide 37
Slide 37 text
@mgechev
Slide 38
Slide 38 text
@mgechev ESLint Better forms webpack 5 Ergonomic code-splitting Remove VE DevTools Future projects Optional Zone Optional NgModules
Slide 39
Slide 39 text
webpack 5 • Better tree-shaking • Persistent disk caching
Slide 40
Slide 40 text
Angular DevTools
Slide 41
Slide 41 text
twitter.com/mgechev @mgechev Stability, DX, and Speed
Slide 42
Slide 42 text
@mgechev Thank you! twitter.com/mgechev github.com/mgechev blog.mgechev.com Survey: mgv.io/talk