Next's framework allows you to build scalable, performant React code without the configuration hassle. That's why so many companies depend on Next for shipping production applications.
In traditional react applications it is difficult to render pages on the server-side whereas next js gives us flexibility to choose per page basis whether you want to render on the client or the server or the mix of both.
What developers like about Next.js?
Server-Side Rendering (SSR):- Next Js prepare the page content on the server-side instead of the client-side. It automatically pre-render the react pages or components on the server. This makes page loading times appear much faster to the user. Pre-rendering can result in better performance and Search engine optimization (SEO).
File-Based Routing:- With Next Js we define pages and routes with files and folders. We have a special pages folder in the next js app in which we structure our folder and define routes and paths for our page support. You do not need any special library to handle routing.
Build Fullstack React App:- Easily add backend code to your Next/React apps. Add backend code inside the API folder where we create our rest API. Storing data, getting data, authentication etc. can be added to your React projects.
Static Exports:- using the next export command, Next.js allows you to export a fully static site from your app.
Prefetching:- The Link component, used to link together different pages, supports a prefetch prop that automatically prefetches page resources (including code missing due to code splitting) in the background.
Simple Next Js Setup:-
( If you want to know about npx and how to install it check out this blog )
The command asks the application name (and creates a new folder for you with that name), then downloads all the packages it needs (react, react-dom, next), sets the package.json.
After everything is done, we end up with the following structure
You can immediately run the sample app by running
and see your page live over
Unique Next Js functions that are used to fetch data for pre-rendering:-
In this function, we write any code that runs on the server-side only and the code that we write inside this function will not be included inside the code bundle that is sent back to the client and will not be exposed to the client-side and never seen by the client.
All pages are pre-generated in advance during build time. Pages are prepared ahead of time and can be cached by the server/ CDN serving the app
This function helps to generate dynamic routes to pre-render pages based on data. Here the ‘getStaticPaths’ method will help us generate a dynamic route.
It’s an async function, if we do add this function in a page component then the next js will execute that function whenever a request for this page is made.
The HTML is generated on each request. Sometimes, you need to pre-render for every request OR you need access to the request object. Next js allows you to run real server-side code.
Next.js is a great and really versatile framework for React. Next.js provides all features that just pure React is lacking. With API support we can use it to create complete pages with backend logic. The speed with which they're iterating and developing the SSR concept and making it available to so many is just astonishing. Uplift your page speed, SEO, and User Experience, and remember that technologies such as Next.js are making the web a better, cleaner, and more user-centric place. And, backed by Vercel which is stable and also very active in the open-source world. We can safely say, Next.js is here to stay, and it will only get better.