Jamstack is not another technology stack yet; instead, it is an architectural concept. The fundamentals of Jamstack are based on, JavaScript, API, and Markup.
“A modern web development architecture based on client-side JavaScript, reusable APIs, and prebuilt Markup” — Mathias Biilmann (CEO & Co-founder of Netlify).
In a traditional monolithic client-server application,
This maintenance includes patching the server or database when there is a security vulnerability found, upgrading to new versions, etc. We may have to install and manage add-ons/plug-ins as well.
In a monolithic application, the application deploys on a server. In many cases, this server will be a centralized resource that takes all the requests from the clients to increase the chance of a single point of failure.
When a client requests a
Producing a page at runtime by the server is a costly affair that may incur initial page load delays(cold start) that can clients frustrated. Overall, a monolithic app may have to compromise with the
Jamstack
comes into play to solve these problems.
The primary characteristics of a Jamstack app are:
pre-built
markup to the CDN/ADN.Since the app is fully/partially pre-built, there is no need for a server to produce it at the run time; plus, there is no traditional server here. Instead, Jamstck uses CDN
, which is fast, secured, and located in the proximity of your clients.
Today, a majority of back-end services(yes, even databases) are available as services that we once had to build by ourselves. It is more costly to build, manage, and maintain things in-house than it is to subscribe to a third party’s services.
With Jamstack, we are introduced to the concept of leveraging services like forms, e-mail, authentication, identities, databases, etc. We can also write custom services(APIs) and host them on a CDN like Netlify or Vercel.
There are plenty of Static Site Generators(SSG) available to help pre-build an app (e.g., Gatsby
, Next.js
, Nuxt
, Hugo
, and 11ty
).
If we were to compare the monolithic and Jamstack flow, it may look like this:
I hope this article provides a quick overview of Jamstack
– thanks for reading! Feel free to connect with me. You can @ me on Twitter(@tapasadhikary) or feel free to follow!