The Jamstack is a modern web development architecture — originally cased as JAMstack where JAM stands for Javascript, APIs, and Markup. It handles dynamic functionality with javascript and server-side operations are abstracted into reusable APIs and accessed via HTTPS and javascript. Static HTML files are generated and served for the project. It is also possible to use files such as Markdown to generate these static HTML files.

Today, Jamstack is used to more broadly refer to an architectural approach for building websites. Though there are varying opinions on what exactly Jamstack means today, these attributes are present in most sites that claim to be Jamstack sites. With all the fuss and chatter on new frameworks, or the next fad in web development, the one thing that stands out with the Jamstack architecture is the adherence to web standards and the ease of implementation from the frontend developer standpoint for any website or web application.

Why Jamstack?

Many approaches exist for developers. If the project calls for it, the Jamstack architecture allows developers to rely on a static website’s advantages, including enhanced speed, performance, and security benefits, while still retaining the dynamic attributes of a database-oriented CMS without the database.

The Jamstack approach enables a fully dynamic site build while the production assets are pre-rendered static files deployed to a CDN. The dynamic side of things is handled with client-side javascript, usually run through serverless functions.

Static Builds with Dynamic Capabilities

Static, in the case of Jamstack, does not mean fixed or stationary, but rather serverless, i.e., the browser does not need the help of servers to handle dynamic functionality. While the production builds of Jamstack websites are static files, those files are not without dynamic functionality like forms, comments, authentication, routing, payment gateways, and more usually handled by third-party APIs and javascript.

Utilizing a hosting platform such as Netlify, or any CDN, allows developers to deploy and serve static content with precision speed and performance. From there, APIs and javascript offer most of the dynamic functionality needed. A little database or JSON goes a long way as well.

Important build tools (e.g Babel, Browserify, Webpack, etc.) should be used to help speed up the development process. React-based web application libraries exist to expedite the process of configuring your build environments. For this website, we utilize GatsbyJS, but there are others, and more popular such as NextJS.

Frontend Jam Session

The Jamstack philosophy is not about specific technologies. It’s a new way of building websites and apps that delivers better performance, higher security, lower cost of scaling, and a better developer experience overall.