As a React developer, I've always wanted to create a personal website to showcase my projects and experiences. When considering my options, I inclined to engineer/write this site in Next.js and decided to give it a try. In this post, I'll explain my reasoning for using Next.js and the benefits I've found while creating my personal site.Why Next.js?
I chose to use Next.js for my personal site because it is a JavaScript framework built on top of React. This means that I can leverage my React skills to create a server-rendered application with automatic code splitting and optimized performance. Next.js also makes it easy to set up SEO and web app manifest files, which is important for making my personal site visible to search engines and easily accessible on a user's device.
One benefit of using Next.js is the ability to statically build my site. This means that all of the HTML for my pages is generated at build time, rather than on the fly by the server when a user requests a page. This results in faster page load times, as the server doesn't have to do any additional work to serve the page.
As an engineer I appreciate the flexibility that Next.js provides. I can use my existing knowledge of React to create a personal site, but with the added benefits of the already baked in setups. This makes it easier for me to create a high-performance site without having to worry about the complexity of setting up a base React app from scratch.
In addition to its practical uses, I also see Next.js as a playground for testing out new features and technologies. Since it's built on top of React, I can easily incorporate new React features into my Next.js personal site. This has been a great way for me to try out new ideas and see how they work in a real-world setting.
Another reason I chose to use Next.js is the opportunity to learn about styling and design principles. I'm using Tailwind CSS, a utility-first CSS framework, to create custom designs without the bloat of a traditional CSS framework. Working with Next.js and Tailwind has been a great way for me to improve my skills and create a visually stunning personal site.
While Next.js has many benefits, there are a few potential drawbacks to consider. One issue is that Next.js applications can be more complex to set up and deploy than traditional static sites. This hasn't been a problem for me as an experienced developer, but it could be a barrier for those who are just starting out.
In conclusion, I've found Next.js to be a powerful framework for creating a personal site. It allows me to use my React skills, statically build my site, and test out new features. While there are some potential drawbacks to consider, the benefits have made Next.js a great choice for my personal site. I hope that my experience with Next.js will inspire other developers to consider it for their own projects.