People love React for its simplicity: you can learn the basics in half a day, and bring your favorite tools and APIS and dive right in. But that rapid application development also comes at a cost: bloated, slow, unstable Single Page Applications that grind your browser to a halt.
Tools like Next.js, Remix.run and now React Server Components are starting to solve these problems. They tug at the edge of application development architectures, and provide server-side data fetching, pre-rendering either at build or runtime, and manage such features as routing, authentication and full-on pre-rendering and generation of content for deployment to CDNs.
In this talk, I'll discuss the issues caused by working with SPAs, and how each of these frameworks attempt to address them. I'll show you some badly performing React code using Google Lighthouse, and then show you the tuned version in Remix.run or Next.js (or even React server-rendered components if they'll behave for me yet). By the end you'll gain an appreciation of the things you can improve by moving to one of these frameworks on top of React.