“JAMstack is revolutionising the way we think about workflow by providing a simpler developer experience, better performance, lower cost and greater scalability.”
Mr. Duarte continues by providing a guide that, “[...] will help you understand why it exists and how to get started.”
He provides context, examples and resources in this guide built with Gatsby, hosted on Netlify and open sourced on Github. This idea is to gather the concept of JAMstack in a straight-forward guide to encourage other developers to adopt the workflow.
I totally recommend anyone interested in a better understanding and getting started with JAMStack to include it in their journey forward. Here is a curation we made on the subject from different sources.
Table of Contents:
3 criteria define if your project follows this paradigm shift:
- Markup : the html templates should be prebuilt at deployment time using a static site generator for example.
JAMstack is not only simplifying the workflow for developers but also has many benefits.
- Ultra Speedy Performance : Because the static pages are prebuilt and served to your browser via a CDN, the time to first byte is minimised. Lots of functionalities that were usually processed in the back-end, are now managed on your browser side.
- Higher security : Stop worrying about database or server-side vulnerabilities. You have no need for a server-side language to be executed, so less ways to inject code or get attacked.
- Easier scalability: Because your files are served through CDN, when your app gets more requests, the CDN easily compensates for higher traffic.
Kudos to Hermes Rivera on Unsplash for this photo.
Mathieu Dionne (@MathDy24) gives great advice on this Snipcart article.
A jungle of modern frontend tools to build your site
In short, static site generators takes source files and generates an entirely static website, ready to be delivered to viewers.
There is many options available to choose from and it might be difficult to see through the plethora of static site generators available, as all are more or less relevant depending on your use case.
Next.js is a lightweight framework for static and server-rendered React applications, also built on React.
Nuxt.js is a framework for creating Vue.js applications, you can choose between Universal, Static Generated or Single Page application. Technically not exactly a SSG, you can still use the provided deployment option called nuxt generate tobuild a statically generated Vue.js Application.
Gridsome is a Vue.js-powered, modern site generator for building the fastest possible websites for any Headless CMS, APIs or Markdown-files.
Headless CMS for backend functionalities
You may need your content to be edited and maintained after the website is built. This task will probably be someone non-technical's job and to ease their job, you might want to use a headless CMS.
Many headless CMSs are available on the market today to do what they do best: manage content! You can find a list here.
Now that your app is built, it has to live somewhere. The good news is that the platforms for hosting static sites are cheap and some of are even free. You can find a list here.
- New to JAMstack? Everything You Need to Know to Get Started
- WTF is JAMStack?
In the following example made with the JAMstack, we are using Strapi to deliver the content through its API.
Below, you can see the content requested:
Did you like this article? Do you think it's missing something? Feel free to comment and start a discussion below. By the way, we are looking for developers with a taste for writing killer content for guest posting so if this rings a bell for you, feel free to reach out!