Production-Grade Next.js

In a course titled 'Production-Grade Next.js', I thought the direction of the course would cover what developers do to optimize their app for a production environment. Perhaps cover caching considerations, techniques for handling images in an optimized way, deployments to production, and environment variables. I thought a neat idea would be "here's what all the tutorials show you for running Next.js in a dev environment, but here's what those intro tutorials don't tell you about going to production."

Scott Moss's course handles some of that, but it also has this approach of "we have an app, but some parts don't work, therefore it's not ready for production - let's fix those things." Then he goes into some explanations about how to get certain things to work. He also is focused in building a particular app, and touches on consideratios along the way. These explanations are very helpful (such as getStaticProps and getStaticPaths, SSG vs ISG, etc.), and some of Scott's explanations really resonate in areas where others (nor the documentation) have not. The course still isn't exactly what I expected, but that's ok - there was a lot to learn here.

Things I appreciated

  • showing how to use a 'preview' feature for content
  • showing how to use next-auth.js to allow people to use their github account to establish authentication
  • coverage of environment variables and deploying a site to a production environment, and where those changes take place
  • the documentation found at https://production-grade-nextjs.vercel.app/

Things that the course could do better

There's a hitch in the editing of the video. At the very end of 'Set Up Dynamic Paths with getStaticPaths', he's just about to flesh out getStaticProps function when the video suddenly ends and cuts to a 'Dynamic Content Q&A' video. This feels really misplaced, and makes me feel like I missed some critical content as soon as this occurs.

Though he provides documentation for his course, which he refers to himself to type out his code examples, the code he types on video is sometimes different than what is in the documentation. There are instances where Scott spends time programming and explaining what he does as he does it, but then because it doesn't work, so he simply erases it and copy/pastes from his documentation instead. It's helpful to have him talk through what he's doing, but it's also feels a bit sloppy to then just wipe it out with 'that doesn't work - I'll copy from my notes instead.'

There is clearly a lot of work and preparation that goes into these courses, and I realize that's the case here. But it does stand out when things don't work.

Summary

In Scott's defense, this is not an 'intro' course, and perhaps most developers already well-versed in handling such extensive scenarios can be more forgiving.

The documentation Scott wrote is a terrific resource to read through. Scott does a good job with explanataions, or at least I felt like I had a better understanding of what is happening when he spoke about it.

A little past midway through the course (when he gets to the CRUD handlers), I put my editor aside and simply watched the video instead of trying to code along.

Overall a great course to add to weekend refreshers.

May 29, 2021🏷frontendmastersnextjs