Bridgetown 1.1: Server-Side Rendering in a Static Site Generator
Historically, the worlds of on-demand server-side rendering (SSR) vs. static site generation (SSG) have seemed far apart. You can use one type of tool, or the other, but not both in a single codebase with a simple set of techniques to make effective use of both approaches.
However in recent years, we've seen the rise of the "Jamstack" and a new generation of JavaScript-based tools which claim to solve this problem once and for all. Great news! Or is it? Nope, because then you must write everything in JavaScript (or TypeScript). That leaves…well…everyone else out in the cold.
As Rubyists, it's time to think outside the box. In Bridgetown 1.0 and soon 1.1, we're doing just that by marrying a next-generation SSG with full-featured SSR thanks to deep integration with Rack & Roda, the fastest Ruby web framework (lovingly maintained by Ruby legend Jeremy Evans).
In this talk, I'll showcase some of the aspects of what's possible in Bridgetown when on a route-by-route, page-by-page, and even component-by-component basis, you can decide if you're SSG'ing or SSR'ing your content. Then I'll show you how simple it is to deploy this hybrid architecture on Render.com via a Blueprint YAML file containing only a few lines. Is this truly the best of both worlds? Are SSR & SSG friends for life? Let's find out!