This Presentation
Failed To Load
https://twitter.com/btmpl/
https://medium.com/@baphemot/
Bartosz Szczeciński
Website Obesity Crisis
http://idlewords.com/talks/website_obesity.htm
Website Obesity Crisis
Rozwiązanie w Netflix
- critical render path / time to first render
- time to interaction
Istotne zdarzenia
- pobieranie aplikacji
- oczekiwanie na API
Miejsca, w których możemy "zyskać"
Statyczny splash screen
Spinner
Mockup ala Facebook
"Odczuwalna" poprawa (?)
Webpack
source: https://medium.com/@paul.allies/webpack-managing-javascript-and-css-dependencies-3b4913f49c58
Typowa aplikacja
Typowa aplikacja
Dynamiczne dogrywanie
Dynamiczne dogrywanie
Wiele pkt. startowych
Wiele pkt. startowych
common chunks
Kod współdzielony (DLL)
webpack.config.vendor.js
webpack.config.app.js
Optymalizacja kodu
Optymalizacja kodu - analiza
https://www.npmjs.com/package/webpack-bundle-analyzer
Optymalizacja kodu - analiza
Krok 1 - named exports
Krok 1 - named exports
Krok 2 - direct import
Krok 2 - direct import
Krok 3 - CommonJS vs ESM
Krok 3 - ESM
Krok 4 - ESM (lodash-es)
Krok 5 - dead code elimination
webpack 4.0
Krok 6 - konkatenacja
webpack 4.0
--display-optimization-bailout
Krok 6 - konkatenacja
Wynik
This Presentation Failed To Load
By btmpl
This Presentation Failed To Load
- 733