Marny Lopez (iMrLopez)

Software Engineer

FullStack

BackEnd

FrontEnd

Marny Lopez (iMrLopez)

Software Engineer

FullStack

BackEnd

FrontEnd

Blog Post

Next.js: What is server-side rendering? Pros and cons.

noviembre 13, 2022 Sin categoría
Next.js: What is server-side rendering? Pros and cons.

Next.js: What is server-side rendering? Pros and cons.

It’s a good idea to start looking for documentation when learning new technologies. Next.js includes extensive documentation for every part of the framework. Starting with creating a new project and progressing through all the main features: getting data, creating pages, CSS tools, Typescript support, routing, and deployment. Each section is well-organized and includes valuable examples.

Another helpful feature of the documentation is an interactive lesson that will walk you through all the fundamental ideas required to feel comfortable using Next. Throughout the course, you will build a small app that takes advantage of the framework’s most crucial capabilities.

Next.js pre-renders the page on the server before showing it to the users on the client. When crawlers visit the page in this instance, they can locate the data there, which boosts the app’s SEO.

Without needing external plugins, Next.js could pre-render React pages and components.

It is a little more challenging to put up, even though we can do it on React. Next.js was built with this in mind.

 

Why Next.js

Some of the problems a modern online application faces expand in proportion to the size of a React site. Here are some issues you and your team may be facing:

Your JavaScript bundle size is too large, causing performance issues on older PCs and mobile devices. However, utilizing a web pack or another bundler with a compiler like Babel becomes tedious and complicated. The application should be more SEO friendly, loading information faster for your users and Google’s crawlers. Simple user input and analytics are required to improve your User Experience.

Server-Side Rendering (SSR) is a standard solution for addressing some of the above concerns, but it cannot be easy to build on your own. This is where a framework like Next.js excels. It provides solutions to these (and other) issues while providing an excellent developer experience. I want to focus on Next.js’ approach to SSR, or “Pre-Rendering.”

Server-Side Rendering

In other situations, data must be updated in response to a user request, like a search, or we have data that is changed often. In this case, we can still deliver a complete, current HTML page while still retrieving data via server-side rendering. It is pretty like the SSG example, except that getServerSideProps is an async function that we are exporting this time.

You’ll see that the application has almost the exact specifications as an export async function from the pages folder, almost precisely matching that of getStaticProps. The primary distinction is that getServerSideProps is now called at the time of each request for our page rather than only when it is being built. Thanks to this mechanism, we always have the most recent props, which is a little slower than a static generation.

function AlbumListPage({ albums }) {
return (
   <ul>
 	{ albums? Albums.map(album =>
 	<li>
   	<h1>{album.name}</h1>       	
     </li>) : null }
   </ul>
)
}
 
export async function getServerSideProps() {
const response = await fetch(`https://api/.../artists/${id}/albums`)
const albums = await response.json();
 
return { props: { albums }}
 
}
 
export default AlbumListPage;

Pros of Next.js

Technical Pros

Data Security

Because static websites are only a collection of files, they don’t directly access the database. Most websites execute their code on servers, and hackers target that connection as a weak point. Js offers a means to lessen the possibility that a hostile assault would compromise your company.

Time to Market

React, and Next are excellent resources for developing a minimum viable product (MVP). Building an MVP is comparatively quick and easy due to the variety of pre-made components. Thanks to React and Next’s error handling and debugging methods, developers can test changes quickly and effectively.

Search Engine Optimization Pros

Page load time

Next.js can achieve unparalleled page load times. Its out-of-the-box image optimization, static site generation, and code-splitting architecture deliver exceptional performance. This enhances other important indications that Google looks for, such as a low bounce rate and a long session duration.

both crawlability and indexability

A well-organized, simple-to-navigate website makes it easier for search engines to crawl your information. Js offers a simple yet efficient system of pages and folders to tell Google how to crawl your website. You could face severe traffic fines if you make even a tiny mistake.

 

Business Pros

Conversion rate

The tools that Next.js offers enable more complex, quick, and engaging frontends, assisting clients in navigating the purchasing process. High conversion rates are standard in web applications created with Next or React.

Accessibility

Several excellent tools are included in Next.js to speed up the process of building accessible code and make it simpler to identify accessibility issues. Why not ensure you’re utilizing the appropriate tools at the appropriate times? The web is an inclusive space, and everyone should be able to interact with it the same way as other users.

Flexibility

The Next.js framework is a potent one. It includes everything needed to create a beautiful front end. Our team has successfully created some rather sophisticated applications by combining Next.js and Laravel (for the backend).

There is a case to be made that React’s lack of bias makes it more versatile. This is true in some use situations, but we haven’t yet encountered a circumstance where Next has prevented us from building something.

Developer Pros

CSS Support

CSS Support for Developers Up Next. Js comes with built-in support for CSS. There is no need to waste time and money on third-party stylesheet services because importing CSS code from a JavaScript file is simple.

Quick Refresh

Every time a new code is added, a page is automatically refreshed, thanks to the built-in rapid refresh feature. Our engineers no longer must navigate between tabs and use the refresh button to test changes. Doing this can prevent reloading the page each time a change is made. This may seem unimportant, but it may be a significant pain if you frequently make quick layout changes to websites.

Reusable components

Page constructors can be reused and grouped as components with Next.js. Developing a website or application with UI elements that repeat across various pages will save you a ton of work.

Cons of Next.js

Technical Cons

Routing

It has its share of problems, but they are being addressed, and we’re optimistic that soon they won’t be as significant.

Opinionated

Next.js is opinionated; thus, you are forced to follow their instructions as a developer.

Although we’ve included this as a “con,” it belongs in the “pros” category. Limitations in how their application must be written may prevent teams from performing some wild integrations, pushing them to find workarounds.

Business Cons

Finding Developers

The library that underpins many contemporary online apps, React has been extended by Next.js. Because the market is flooded with amateurs, hiring Next.js developers from Freelancer, Upwork, or any other contracting site is a significant gamble.

Write a comment