Client-Side Performance Handbook
A web developer's resource for all things performance-related on the web in one handy guide.
by Matt Basta
Performance is one of the most wide-reaching yet difficult-to-address topics in web development. Because there are so many aspects to the discipline, it's nearly impossible to consider each one in a serial way. In addition, performance myths and misinformation often lead well-intentioned engineers to make poor choices.
The Client-Side Performance Handbook is a guide to help web developers deliver better quality products to their clients and employers.
Chapter Outline
- Introduction to web performance
- Performance is about compromises
- The Value of Performance
- Categorizing Users
- Prioritizing Performance Improvements
- Identifying Performance Issues
- The Navigation Timing API
- Timing Data Inside JavaScript
- Storing Timestamps at Important Page Events
- Make More Graphs
- Simplify
- Overview of a page’s lifecycle
- Page Lifecycle and Performance
- Connection and SSL
- DNS Lookups
- TCP Connections
- SSL
- CDNs
- HTTP2 and SPDY
- Assets and Payload
- HTTP
- Gzip and Compression
- Images
- Fetching Resources In Advance
- One asset to rule them all?
- Number of assets
- Combining assets
- Weighing the benefits of multiple files
- Minification
- Markup
- SVG
- CSS
- JS
- Markup
- JavaScript
3. Browser events
2. defer, async, both, neither
- Head or Body? Where the hell do I put my code
- Memory
- Memory management
- Garbage collection
- Dirty, shameful tricks
- CPU-heavy code
- Optimizing for the JIT
- Web workers
- Typed arrays
- Asm.js
- Recommendations
- Conclusion
- Notable Tickets
- Mentioned Tools
- Glossary
- Thanks, credits
Contributing
Please see the contribution guidelines.