Introduction to Next.js

Next.js is an open-source front-end web development JavaScript framework that has been around for only a couple of years but is already one of the most used tools in React-based web applications. A simple React application can only render its content on the client side, whereas a Next.js application lets us render on the server side. 

What is React?

React is a declarative, flexible, and open-source library for building user interfaces based on UI components. It is typically used to develop web applications that require constant data changes on their UIs.

A typical approach would require us to reload the entire website when we click on one component, but React avoids reprocessing every line of code using components. Think of Facebook, where we scroll through the application to see new posts while other page components stay the same. 

The user interfaces are the elements we see on the screen, as illustrated below.

What is Next.js?

Next.js is a lightweight Javascript framework for React applications. It provides a solution for server-side rendering (SSR) of React components. We can easily build a React application and use SSR to store our content on the server early, which will help the users interact with a fully rendered front end and an interactive website.

There are multiple built-in configurations and templates that can simplify the development process. This can avoid the need to do constant tweaking with issues related to server load and the application itself.

Getting starting with Next.js

To start with Next.js, follow these steps:

Step 1: Install Node.js

A Next.js application is just like a Node.js application.

Step 2: Make a folder

Create a folder and give it a name. For this example, we're going to name it next-app. To do this, we run this command:

mkdir next-app

After making the folder, we open a terminal within that folder and run this command as follows:

npm init

This will create the package.json file.

Step 3: Install the dependencies

You can either use npm or Yarn to install the dependencies.

Installing Next.js using the command below:

yarn add next //with yarn
npm i next --save //with npm

Since Next.js uses React, we also have to install React.

yarn add react react-dom//with yarn
npm i react react-dom --save// with npm

Step 4: Make the necessary folders

The pages and static folders are two folders without which Next.js won't work.

mkdir pages static

And then we can run npm next dev and then open http://localhost:3000.

Note: We will see NotFound on our page as we haven't created any page yet.

Why Next.js?

There are several advantages of using Next.js for building applications.

Pre-rendering

Next.js offers server-side rendering to eliminate the delay between page render and data traffic. Next.js pre-renders a page's elements, then populates the page with data, before sending the complete page to the client. We have two types—static page generation and server-side rendering.

  1. Server-side rendering (SSR)

In SSR, content is generated on the server-side for each request and then sent to the browser. The server will generate that page's HTML at build time on each request. SSR is beneficial as it helps keep the corresponding data up-to-date.

  1. Static page generation (SPG)

SPG allows us to generate a single HTML file for every page that a user can access beforehand. This helps to serve requests at a rapid speed and improves the response time.

Conclusion

Next.js is an incredible framework that can help us build upon React to create production-ready applications. It also makes a developer's life easier by abstracting away the common and redundant tasks (such as routing) into relatively simpler and powerful APIs.

Free Resources

Copyright ©2024 Educative, Inc. All rights reserved