What is BTR?

Build-time rendering (BTR) is sometimes also called static rendering, prerendering, or Static Site Generation — SSG. It is a web development technique where HTML for your pages is generated during the build process, before the site is deployed and before any user requests it. This is different than:

  • Request-Time Rendering (RTR): Where the HTML is generated fresh on the server for each request a user makes.

BTR is often referred to as Jamstack, and if you're comfortable with that definition, that's great because they are the same thing. We believe BTR adds more clarity, since the important aspect that differentiates it from other methods is when the rendering happens. Lots of website use Javascript, APIs, and Markup (JAM) but still are not tecnically Jamstack. Similarly, BTR sites can use a combination of commonly named rendering technicals and still be BTR:

  • Client-Side Rendering (CSR): The browser downloads a mostly empty HTML shell + JavaScript, then renders everything in the browser
  • Hydration: Javascript is loaded that makes existing HTML interactive (attaches event listeners, restores component state, sets up reactivity).
  • Server-Side Rendering (SSR): HTML is generate on a server, this could be a live server for RTR, or a CI/CD process as is typical with BTR.
Graphic of how BTW works: files+content > build process > CDN deployment