Difference between SSR, SSG, CSR and SPA

This page summarizes the projects mentioned and recommended in the original post on /r/nextjs

Our great sponsors
  • SurveyJS - Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • Gatsby

    The best React-based framework with performance, scalability and security built in.

    SSG (Static Site Generation): used when your website doesn't have a lot of data that changes and can be statically generated, e.g: a bunch of html and css files that can be deployed anywhere. Examples of this are [Gatsby](https://www.gatsbyjs.com/), [Gridsome](https://gridsome.org/), [Scully](https://scully.io) and the aforementioned NextJS, SvelteKit and Sapper, which can do both SSR and SSG;

  • Vue.js

    This is the repo for Vue 2. For Vue 3, go to https://github.com/vuejs/core

    CSR (Client Side Rendering): the process of sending the client an almost empty html file and letting JavaScript handle all the rendering. Examples of this are [React](https://reactjs.org/), [Vue](https://vuejs.org/) ang [Angular](https://angular.io/);

  • SurveyJS

    Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App. With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.

  • Scully

    The Static Site Generator for Angular apps

    SSG (Static Site Generation): used when your website doesn't have a lot of data that changes and can be statically generated, e.g: a bunch of html and css files that can be deployed anywhere. Examples of this are [Gatsby](https://www.gatsbyjs.com/), [Gridsome](https://gridsome.org/), [Scully](https://scully.io) and the aforementioned NextJS, SvelteKit and Sapper, which can do both SSR and SSG;

  • Sapper

    Discontinued The next small thing in web development, powered by Svelte

    SSR (Server Side Rendering): the process of receiving a request from the client, e.g: a user goes to https://example.com to load the homepage, and returning a rendered version of the webpage with all the needed info and data to load it as fast as possible. Examples of this are [NextJS](https://nextjs.org), [NuxtJS](https://nuxtjs.org/), [Angular Universal](https://angular.io/guide/universal), [SvelteKit](https://kit.svelte.dev/) (currently in Beta) and [Sapper](https://sapper.svelte.dev/) (currently going deprecated);

  • React

    The library for web and native user interfaces.

    CSR (Client Side Rendering): the process of sending the client an almost empty html file and letting JavaScript handle all the rendering. Examples of this are [React](https://reactjs.org/), [Vue](https://vuejs.org/) ang [Angular](https://angular.io/);

  • Nuxt.js

    Discontinued Nuxt is an intuitive and extendable way to create type-safe, performant and production-grade full-stack web apps and websites with Vue 3. [Moved to: https://github.com/nuxt/nuxt]

    SSR (Server Side Rendering): the process of receiving a request from the client, e.g: a user goes to https://example.com to load the homepage, and returning a rendered version of the webpage with all the needed info and data to load it as fast as possible. Examples of this are [NextJS](https://nextjs.org), [NuxtJS](https://nuxtjs.org/), [Angular Universal](https://angular.io/guide/universal), [SvelteKit](https://kit.svelte.dev/) (currently in Beta) and [Sapper](https://sapper.svelte.dev/) (currently going deprecated);

  • Next.js

    The React Framework

    SSR (Server Side Rendering): the process of receiving a request from the client, e.g: a user goes to https://example.com to load the homepage, and returning a rendered version of the webpage with all the needed info and data to load it as fast as possible. Examples of this are [NextJS](https://nextjs.org), [NuxtJS](https://nuxtjs.org/), [Angular Universal](https://angular.io/guide/universal), [SvelteKit](https://kit.svelte.dev/) (currently in Beta) and [Sapper](https://sapper.svelte.dev/) (currently going deprecated);

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

  • SvelteKit

    web development, streamlined (by sveltejs)

    SSR (Server Side Rendering): the process of receiving a request from the client, e.g: a user goes to https://example.com to load the homepage, and returning a rendered version of the webpage with all the needed info and data to load it as fast as possible. Examples of this are [NextJS](https://nextjs.org), [NuxtJS](https://nuxtjs.org/), [Angular Universal](https://angular.io/guide/universal), [SvelteKit](https://kit.svelte.dev/) (currently in Beta) and [Sapper](https://sapper.svelte.dev/) (currently going deprecated);

  • Gridsome

    ⚡️ The Jamstack framework for Vue.js

    SSG (Static Site Generation): used when your website doesn't have a lot of data that changes and can be statically generated, e.g: a bunch of html and css files that can be deployed anywhere. Examples of this are [Gatsby](https://www.gatsbyjs.com/), [Gridsome](https://gridsome.org/), [Scully](https://scully.io) and the aforementioned NextJS, SvelteKit and Sapper, which can do both SSR and SSG;

  • Angular

    Deliver web apps with confidence 🚀

    CSR (Client Side Rendering): the process of sending the client an almost empty html file and letting JavaScript handle all the rendering. Examples of this are [React](https://reactjs.org/), [Vue](https://vuejs.org/) ang [Angular](https://angular.io/);

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts