what do we mean when we talk about
"Web performances"

What does the browser do when we do this?
Back in the days...


"Hey server, send me the page at /index.html"
"Sure, here it is"


- Time to first byte
- Document complete


- MOAR colors!
- MOAR complex layouts!
- MOAR images!
- MOAR interactions!
- SOUND!
- VIDEOS!
- CUSTOM FONTS!
- Special FX!
- Fireworks!
modern web pages


"Hey server, send me the page at /index.html"
"Sure, here it is"


"O HAI! Can you also download style.css, script.js, font.woff and a bunch of images, please?"

"....server?"

- Document complete
- Load event
- # of requests

Source: https://www.soasta.com/blog/page-bloat-average-web-page-2-mb/


fast pages == $$$

- MINIFY ALL THE THINGS
- CACHE ALL THE THINGS
- CSS sprites
- Lazy loaded images
- CDNs
- <script> tags at the end of the body


web applications


"Hey server, send me the Gmail application"
"Sure, here it is"


"O HAI! You need to download a lot of javascript code, some css and some images"

<does a lot of complex things, perhaps involving server requests>

- SpeedIndex
- Time to first meaningful paint
- Time to interactive
- FPS
Load time

- Server push
- Inline critical CSS
- Edge side inclusion
- MOAR COMPRESSION ALGORITHMS
server push


"Hey server, send me the Gmail application"
"Sure, here it is. By the way, you're also going to need style.css and script.js"


critical css


Source: https://www.smashingmagazine.com/2015/08/understanding-critical-css/



- Real User Monitoring
my website loads in x.x seconds

- Browser Navigation Timing API
- Performance Timing API
- PerformanceObserver
- PWAs
- PRPL
BROWser navigation timing api

PERFOrmance timing api
window.performance.mark('DFP_BEGIN')

prpl
- Push critical resources for the initial URL route.
- Render initial route.
- Pre-cache remaining routes.
- Lazy-load and create remaining routes on demand.
Source: https://developers.google.com/web/fundamentals/performance/prpl-pattern/
conclusion
-
Performances matter (a lot)
-
complex web --> complex strategies
-
every site is different --> identify core metrics
-
measure what really matters

web performances
By Mattia Tommasone
web performances
- 339