React Performance ⚡

Intro

👨‍💼 Hello, my name is Peter the Product Manager. I'm here to help you get oriented and to give you your assignments for the workshop!
We're going to be working hard to make our React applications as fast as possible. There are a seemingly countless number of optimizations you can apply in the persuit of a faster web application, but not all of them will actually improve the user experience. It takes a careful amount of measuring, testing, and remeasuring to really improve UX.
Additionally, we're going to focus on the React side of things for this workshop, but there are many areas where you can improve performance for web applications that we'll not be covering.
In general, the thing you need to know about performance optimizations is that there's nothing faster than not doing anything at all. Every feature you add to the application is going to make it slower in exchange for the thing you're asking the computer to do. So we're not targeting 0ms load and response times. Instead, we're targeting "fast enough for our users."
At the same time, we're not going to be complacent about performance. Always be on the lookout for opportunities to make your application faster in practical ways.
A lot of this workshop involves very few lines of code changes. The real work comes down to understanding how to measure performance properly, then understanding the tools and the techniques, and then applying them to your own applications in a way that actually improves performance.
Sometimes using performance optimization strategies can make your application slower, so developing a good understanding of how things work is important.
A word of caution. It's easy to get carried away with performance optimizations. Every optimization you make is a tradeoff (mostly in complexity). It's important to measure the impact of your changes and to make sure that the tradeoff is worth it. Don't optimize prematurely.
With that, let's get started!