I built this site with Next.js. In this post I'll explain why I picked it and what I've found along the way.
Why Next.js?
Next.js is a JavaScript framework built on top of React. Since I already know React, I can reuse that knowledge without learning a new paradigm. It handles server rendering, automatic code splitting, and makes it straightforward to set up SEO and web app manifest files.
One big benefit is static site generation. All the HTML for my pages is generated at build time, not on the fly when someone requests a page. That means faster load times ā the server doesn't have to do any extra work to serve the page.
Next.js also gives me flexibility. I can use my React knowledge but get the benefit of all the built-in setup ā routing, code splitting, image optimization ā without configuring a base React app from scratch.
I also use Next.js as a playground for testing new features and technologies. Since it's built on React, I can try new React features in a real-world setting and see how they work.
Another reason I chose Next.js is the chance to learn more about styling and design. I'm using Tailwind CSS to create custom designs. Working with both has been a good way to build my skills and make a site that looks the way I want.
There are some downsides. Next.js applications can be more complex to set up and deploy than plain static sites. That hasn't been a problem for me, but it could be a hurdle for someone just starting out.
Next.js has been a solid fit for my personal site. I can use my React skills, statically build the site, and experiment with new features. The tradeoffs have been worth it for me.