JAMStack Blog Post

What is JAMStack, and is it delicious?

Bottle of Jam

JavaScript, APIs, and Markup make the JAM of JAMStack, and are in essence a workflow for front-end, static-site web development.

Roles explained

JavaScript minds the logic of the project, specifying the dynamic functional parts at play on the site. APIs, or Application Programming Interfaces, have to do with server communication. They access and interact with data online needed to perform the objectives of a site, and are directed by JavaScript. Markup refers to the markup languages (principally, HTML and CSS and their revisions/additions/subsidiaries) that make up the skeleton of the structure, look, and content of a site.

So what is JAMStack, exactly? Why do it?

JAMStacking involves making static web sites, or sites that are delivered to a browser exactly as stored. This method has become increasingly popular compared to dynamic tools like WordPress or Drupal. Dynamic sites need to be generated each time they are accessed, communicating extensively with servers, and the tools tend to have many security vulnerabilities as they bloat into a vastness of plugins and programming loopholes.

In contrast, static sites created via a JAMStack workflow just load and are done, and lacking that cloud of creation superstructure, end up being more secure. You can also use tools like a content delivery network (or CDN) to speed access to your site. The idea of a CDN is to host site content on a network of servers instead of a traditional, single server that must be accessed every time someone wants to partake in your content.

How to JAM it

To make use of that delicious JAM, a web developer needs to either hardcode JavaScript and markup elements, or use a Static Site Generator (or SSG, like Gatsby or Jekyll) to create the site. Once it’s worked out, you upload it to a repository (like a web hosting service and/or GitHub), and then deploy that content via a CDN (like Netlify or directly via GitHub Pages).

This the flow of the JAM. And it tastes like… mixed berry. Possibly apricot.

So what method is best?

Which you choose depends on your site’s objectives. For a simple blog site like this, it was fun to ramble down the path of Gatsby and find what interesting and Rorschach-like shapes it takes. But in the end, it had enmity with Windows too great for my efforts to Linuxize it to overcome, and the cutdown markdown lowdown of Jekyll and GitHub Pages made too much sense to ignore.

For in simplicity, there is more time to code.

Written on August 26, 2020