What is Next.js?
Next.js is an open-source, flexible React framework (created and maintained by Vercel) that gives us building blocks to create fast web applications.
But… wait, what? “React framework”? Isn’t React a framework itself?
In technology terms, React cannot really be considered a “framework” simply because it does not really provide tools out of the box that developers can use, and this is why React is considered more of a “library” instead.
On the other hand, Next.js is using this “library” and it handles the tooling and configuration needed for React, and provides additional structure, features, and optimizations for the application (such as building tools, routing, customizable components, etc).
Technically speaking, Next.js is enabling React-based web applications with server-side rendering build option and it is also generating static websites. Where traditional React applications can only render their content in the client-side browser, Next.js extends this functionality to include applications rendered on the server-side.
High level point of view
As we already seen, at a high level, Next.js is a tool for building web applications. It provides a set of features and tools that can help you create fast, reliable, and scalable applications.