Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What is the difference between server side rendering (Next.js) and Static Site rendering (Gatsby.js)?

Tags:

I'm looking to create a website that does not rely on client-side JavaScript, however, I still want to use SPA features like client-side routing etc, so I am looking at using a framework that does not render on the client-side. These 2 seem to be the top options for this type of thing, however, I'm unsure as to the differences between the 2 different types of server processing.

like image 907
Sheen Avatar asked Oct 02 '19 08:10

Sheen


1 Answers

Server side rendering is where a request is made from the client/browser to the server, and then at that point the HTML is generated on-the-fly run-time and sent back to the browser to be rendered.

Static site rendering is very similar, however the parsing is carried out during the build time instead. Therefore when a request is made the HTML is stored statically and can be sent straight back to the client.


They both have their pros and cons:

Although static sites will be faster at run-time as no server-side processing is required, it does mean that any changes to data require a full rebuild over the application server side.

Alternatively, with the server side approach, putting any caching aside, the data is processed on-the-fly and sent straight to the client.


Often the decision is best made depending on how dynamic and real-time your content must be vs how performant the application needs to be.

For example, Stackoverflow most likely uses a server-side rendering approach. There are far two many questions for it to rebuild static versions of every question page each time a new post is submitted. The data also needs to be very real-time with users being able to see posts submitted only seconds ago.

However, a blog site, or promo site, which hardly has any content changes, would benefit much more from a static site setup. The response time would be much greater and the server costs would be much lower.

like image 91
Curtis Avatar answered Apr 26 '23 17:04

Curtis