Upgrade to Pro — share decks privately, control downloads, hide ads and more …

The State of Angular

The State of Angular

Minko Gechev

May 07, 2020
Tweet

More Decks by Minko Gechev

Other Decks in Programming

Transcript

  1. @mgechev Smaller Faster builds Better debugging Better type checking Improved

    build errors Simpler Improved i18n Improvements in Universal
  2. @mgechev Smaller Faster builds Better debugging Better type checking Improved

    build errors Simpler Improved i18n Improvements in Universal
  3. • Great compile-time optimizations • Excellent IDE/text editor support •

    Strict type checking • Source code visualization • Lazy component loading • Dynamic UI assembling • Fast builds Static Dynamic
  4. • Great compile-time optimizations • Excellent IDE/text editor support •

    Strict type checking • Source code visualization • Lazy component loading • Dynamic UI assembling • Fast builds Static Dynamic
  5. • Great compile-time optimizations • Excellent IDE/text editor support •

    Strict type checking • Source code visualization • Lazy component loading • Dynamic UI assembling • Fast builds Static Dynamic 2.0 4.0
  6. • Great compile-time optimizations • Excellent IDE/text editor support •

    Strict type checking • Source code visualization • Lazy component loading • Dynamic UI assembling • Fast builds Static Dynamic 4.0 9.0
  7. • Great compile-time optimizations • Excellent IDE/text editor support •

    Strict type checking • Source code visualization • Lazy component loading • Dynamic UI assembling • Fast builds Static Dynamic 9.0
  8. @mgechev VE @Component({ selector: 'app', template: ' ...' }) class

    AppComponent { ... } app.ngfactory.js app.ngsummary.json app.metadata.json app.component.js app.component.d.ts
  9. @mgechev Ivy @Component({ selector: 'app', template: ' ...' }) class

    AppComponent { ... } app.component.js app.component.d.ts
  10. @mgechev Faster builds • We do less work • No

    longer generate factories • ngcc does this once* • No longer using metadata.json • Incremental AoT builds
  11. @mgechev Faster builds • We do less work • No

    longer generate factories • ngcc does this once* • No longer using metadata.json • Incremental AoT builds AoT in development
  12. @mgechev Focused on static optimizations • Generate app at compile-time:

    • No runtime binding overhead • Smaller bundles: • Localizations are hard to tree-shake • No need for binding instructions
  13. twitter.com/mgechev Request / HTML @mgechev Request scripts JS TTI Run

    app on server LCP If not cached Return from the cache Cache LCP