Welcome to the first post of my personal blog. This is has been a test of the Next.js framework for building statically generated websites.
After evaluating a few of the available, mature-yet-modern frameworks, Next.js is the clear winner and will serve nicely as a personal blog and also as the framework I will use on my upcoming project.
See, this page has been generated ahead of time and served directly a simple HTML page. After your request, very minimal server and client side processing was required to display the page in your browser. In comparison to the other 99% of websites on the internet which require a tremendous amount of processing power both server and client side, this page is able to be served at lightning speed. (Have you tried loading a "modern" website on an older computer or smartphone lately? The power requirements of modern web are becoming out of hand.)
And thanks to Lambda@Edge serverless hosting, this page served to you with the lowest latency possible from a geographically local server based on your location in the world.
You may be thinking wow that's great - but this site is very simple and there's no custom or dynamic content. Where's all the buttons and flashy modules and components? Well Next.js is capable of serving that content too as needed. But we needn't delay loading the site while we wait on those components to initialize. Most of the page is actually static, so lets get that to client first and lazy-load the other controls in the following milliseconds. The client may just be quickly navigating and not even need them.
As I go, I hope to share tips and tricks about using this stack with AWS. The goal is to help developers more quickly solve problems that I encounter and think others may encounter as well.