Performance matters. Research shows performance has a huge impact on conversion and user retention. You as a front-end developer can make a big difference!

In this masterclass you will learn how to build blazingly fast websites. Step-by-step we will boost front-end performance of a real world example site. We will start with basic optimisations, learn how to automate them and work towards more advanced performance engineering. Along the way you will learn all about how browsers render web pages.

At the end of the day you will leave with a lot of knowledge, slides and hands-on experience, which will empower you in your daily work.

We know a lot about performance. We gave this class several times before. At our clients we try to help them boost performance. For our own website we wrote a blog post about the pursuit of mastering performance and we regularly speak about performance at meetups.

Note: we will focus on server-side rendered websites. But you can also apply most optimisations to client-side web apps.

Audience

(Front-end) web developers.

Prerequisites

An understanding of HTML, CSS and Javascript.

What will you learn

  • How business is impacted by performance

  • How to sell performance to non techies

  • Understand browser rendering and networking

  • Analyse front-end web performance

  • Understand, design and build for perceived performance

  • Control how the browser downloads assets

  • Tame browsers by loading assets the way you want

  • Quick win performance optimisations

  • Advanced performance optimisations

  • How HTTP/2 will affect performance

Roughly 50% will be theory and 50% hands-on assignments.

Outline

  • Introduction: performance matters, perceived performance

  • Critical rendering path

  • Measuring performance: with Pagespeed Insights, WebPagetest, LIghthouse and Chrome dev tools

  • Basic performance optimisations: caching, gzipping, minification

  • Image delivery: WebP, , [srcset], data URI’s

  • Web fonts: font subsetting, FOIT vs FOUT, async font loading

  • Lazy load JS: [async], [defer], loadJS

  • Lazy load CSS: with critical CSS

  • Resource hints

  • HTTP/2

Questions

Do you still have questions about the workshop? Don't hesitate to ask!