Loading techniques
Agenda
- The problem
- How to avoid render blocking resources
- Resource Hints
- Priority Hints
- Lazy Load
- Decoding
- Quicklink
- Predictive fetching
The problem
The problem
Sequential
< 2008
Parser modes
Speculative
Parser modes
2008 <
Sequential
Speculative
Parser modes
< 2008
2008 <
Speculative
Preload scannner
Blocking
Non blocking
Blocking resources
- script
- css
- font
- sync xhr
- script (async / defer / type="module")
- css with appropriate media rule
- font with display swap etc
-
sync xhr- avoid
- Feature-Policy: sync-xhr 'none'; document-write 'none';
Defer third-parties
Script behavior
Script parse + compiling
More than 30kb
Style sheets behavior without @media
Style sheets behavior with @media
Fonts behavior with font-display: swap;
Future variable fonts
Hints
Resource Hints
Preconnect
Preload
Preload with srcset, sizes
Prefetch
Prerender (No-State-Prefetch)
Modulepreload
Priority Hints
importance
So, head section must be close to
Lazy Load
The future present
The future present
The future present
How it works
Decoding API
Solution
Quicklink
Quicklink
Quicklink
Predictive prefetching data
Instant Page
Adaptive Loading
Adaptive Loading
Adaptive Loading
@babel/preset-modules
@babel/preset-modules
bundlephobia
bundlephobia
?
Loading techniques
By Viktor Tkachenko
Loading techniques
- 334