Next.js is a React framework, built on Node.js, that is rapidly gaining popularity amongst web developers.

Next.js is an open-source project, which is maintained (including the copyright and trademarks) by Vercel.

The goal of Next.js is to provide the building blocks to create fast web applications, complementing the React (Facebook-backed) JavaScript library.

React is an excellent library for building interactive web applications, providing helpful functions to build user interface components. However, it does not stipulate or facilitate where these functions are used within the application.

Next.js handles the tooling and configuration not covered by React, providing additional structure, features, and optimisations.

As a result, Next.js is benefiting from the popularity of React, allowing developers to start with React, and then incrementally adopt Next.js to help solve common challenges such as routing, data fetching, integrations, etc.

Next.js also supports Incremental Static Regeneration (ISR), which uses static generation on a per-page basis, removing the need to rebuild the entire site, as well as Static Site Generation (SSG), which is an approach I encourage, following a JAMstack architecture.

My personal experience with React is fairly limited, however, I do work with React development teams and am already seeing the huge potential with Next.js. Therefore, if you are a React developer, I recommend you review the Next.js getting started documentation.