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
The State of Angular
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Minko Gechev
July 08, 2020
470
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
The State of Angular
Minko Gechev
July 08, 2020
More Decks by Minko Gechev
See All by Minko Gechev
Change the World With Open Source Software
mgechev
0
280
Fast Angular Apps from End to End
mgechev
1
280
The State of Angular
mgechev
1
240
Software Engineering as a Superpower
mgechev
1
280
Introduction to Angular
mgechev
1
300
Internals of the Angular CLI
mgechev
3
1.5k
The State of Angular
mgechev
1
280
The State of Angular Deployment, SSR, and Prerendering, ng-conf keynote
mgechev
2
3.1k
The Future of the Front-End Frameworks
mgechev
2
400
Featured
See All Featured
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
510
Imperfection Machines: The Place of Print at Facebook
scottboms
270
14k
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
1
400
My Coaching Mixtape
mlcsv
0
310
The Curse of the Amulet
leimatthew05
2
14k
Evolving SEO for Evolving Search Engines
ryanjones
0
280
Product Roadmaps are Hard
iamctodd
55
13k
The #1 spot is gone: here's how to win anyway
tamaranovitovic
3
1.2k
The Limits of Empathy - UXLibs8
cassininazir
1
640
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
1
520
Leo the Paperboy
mayatellez
8
2.2k
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
310
Transcript
@yourtwitter The State of Angular Minko Gechev twitter.com/mgechev github.com/mgechev blog.mgechev.com
@mgechev 100
@mgechev
@mgechev 2,000+ Projects at Google
@yourtwitter https://unsplash.com/photos/rafblRbne3o
@mgechev v10 RC is out
@mgechev
Predictability vs Flexibility trade-offs Predictable Flexible
Static vs Dynamic trade-offs Static Dynamic
Static vs Dynamic trade-offs Static Dynamic Rust Haskell Idris C#
/ Java Go JavaScript TypeScript Ruby
Static vs Dynamic trade-offs Static Dynamic
• 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
twitter.com/mgechev
twitter.com/mgechev 15% of bugs detectable at build time
twitter.com/mgechev
twitter.com/mgechev
• 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
• 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
• 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
• 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
@mgechev What’s in v10?
@mgechev v10 focus • Opt-in strict flag • Increase visibility
@mgechev v10 focus • Opt-in strict flag • Increase visibility
@mgechev Strict Mode " Strict TypeScript type checking strictTemplates in
Angular Opt-in ES5 support Opt-in CommonJS support Reduced side-effects
@mgechev
twitter.com/mgechev >15% of bugs detectable at build time
@mgechev Opt-in CommonJS
twitter.com/mgechev https://web.dev/commonjs-larger-bundles/
@mgechev !// index.js import { add } from './utils'; console.log(add(1,
2)); !// utils.js module.exports.add = (a, b) !=> a + b, module.exports.subtract = (a, b) !=> a - b, module.exports.multiply = (a, b) !=> a * b, module.exports.divide = (a, b) !=> a / b, const { maxBy } = require('lodash-es'); module.exports.max = arr !=> maxBy(arr)
@mgechev !// output.js !!... (() !=> { "use strict"; !/*
harmony import !*/ var _utils!__WEBPACK_IMPORTED_MODULE_0!__ = !__webpack_require!__(288); const subtract = (a, b) !=> a - b; console.log((0,_utils!__WEBPACK_IMPORTED_MODULE_0!__!/* .add !*/ .IH)(1, 2)); })();
@mgechev !// utils.js export const add = (a, b) !=>
a + b; export const subtract = (a, b) !=> a - b; export const multiply = (a, b) !=> a * b; export const divide = (a, b) !=> a / b; import { maxBy } from 'lodash-es'; export const max = arr !=> maxBy(arr); !// index.js import { add } from './utils'; console.log(add(1, 2));
@mgechev !// output.js (()!=>{"use strict";console.log(1+2)})();
@mgechev !// utils.js module.exports.add = (a, b) !=> a +
b, module.exports.subtract = (a, b) !=> a - b, module.exports.multiply = (a, b) !=> a * b, module.exports.divide = (a, b) !=> a / b, const { maxBy } = require('lodash-es'); module.exports.max = arr !=> maxBy(arr)
@mgechev !// utils.js export const add = (a, b) !=>
a + b; export const subtract = (a, b) !=> a - b; export const multiply = (a, b) !=> a * b; export const divide = (a, b) !=> a / b; import { maxBy } from 'lodash-es'; export const max = arr !=> maxBy(arr);
@mgechev !// output.js /******/ (() !=> { !// webpackBootstrap /******/
"use strict"; !// CONCATENATED MODULE: ./utils.js!** const add = (a, b) !=> a + b; const subtract = (a, b) !=> a - b; !// CONCATENATED MODULE: ./index.js!** const index_subtract = (a, b) !=> a - b;!** console.log(add(1, 2));!** /******/ })();
@mgechev !// example.js module.exports[localStorage.getItem(Math.random())] = () !=> { … };
@yourtwitter Examples Automated updates Optimized i18n pipeline Angular Universal Compile-time
optimizations Efficient prefetching
@mgechev Zero-overhead i18n
Angular compile-time i18n (Ivy) src lib Link & optimize l10n
repeat ngc
twitter.com/mgechev @mgechev
@mgechev Thank you! twitter.com/mgechev github.com/mgechev blog.mgechev.com Survey: mgv.io/talk