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

The State of Angular

Sponsored · Ship Features Fearlessly Turn features on and off without deploys. Used by thousands of Ruby developers.

The State of Angular

Avatar for Minko Gechev

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