arrow-left

All pages
gitbookPowered by GitBook
1 of 1

Loading...

spikes

hashtag
ES Modules

How can we modularise our client-side JavaScript?

hashtag
Questions to consider

  • What are the different ways we can import/export code? What does "dynamic import" do?

  • Why might using hundreds of small modules in the browser cause performance problems?

hashtag
Useful resources

hashtag
Browser rendering

What is the "critical rendering path" in browsers?

hashtag
Questions to consider

  • How does the browser render an HTML page containing links to CSS and JavaScript files?

  • What does "render blocking" mean?

  • What do the async and defer keywords do?

hashtag
Useful resources

hashtag
Browser caching

How can we avoid unnecessary network requests?

hashtag
Questions to consider

  • What is HTTP caching?

  • How can our server tell browsers to cache our responses?

hashtag
Useful resources

hashtag
Image performance

How we can efficiently serve image assets?

hashtag
Questions to consider

  • How can we optimise image file size?

  • How can we render different images at different viewport sizes?

hashtag
Useful resources

Modules | JavaScript for impatient programmersarrow-up-right
ES modules: A cartoon deep-divearrow-up-right
Understanding the Critical Rendering Patharrow-up-right
Efficiently load JavaScript with defer and asyncarrow-up-right
HTTP Caching | Web Fundamentalsarrow-up-right
The HTTP cache: your first line of defensearrow-up-right
Image Optimization | Web Fundamentalsarrow-up-right
Responsive Images: If you’re just changing resolutions, use srcsetarrow-up-right
Native lazy-loading for the webarrow-up-right