What is the Jamstack and why is it on the rise?
The Jamstack (originally stylized JAMstack) is an approach to building web applications that extends the ideas of “static sites” to emphasize their true dynamic potential. Originally introduced by Matthew Biilmann in 2016, then popularized by Netlify and other companies in 2017 onward, the Jamstack approach continues to grow in popularity thanks to its design for rapid scalability, performance, security, and relatively easy developer experience.
The JAM in Jamstack is an acronym that stands for:
- Markup Image credit: Colby Fayock, What is the JAMstack and How Do I Get Started? (freecodecamp.org)
Key facts and features of the Jamstack:
- APIs for dynamic services (no reliance on specific servers)
- Pre-rendered pages (Markup, including HTML/CSS)
- Deployed via CDN
- Highly Scalable
- Highly Performant
- Highly Secure
- Easy to implement
Jamstack apps don’t rely on web servers. So how are they able to behave as if they do?
APIs are the secret sauce that allow a Jamstack application to go beyond being a “static site.” Web developers can use relatively simple HTTP calls to endpoints maintained and scaled by other providers, thereby abstracting away all of their server-side concerns. Developers don’t need to worry about the meticulous work that goes into building a reliable and performant backend, and can instead focus on their front end and user experience. They can make a static site remarkably dynamic with extended functionality. Developers are able to take full advantage of best-in-class API solutions offered by the industry.
API services used in Jamstack applications often include:
- E-Commerce APIs (e.g. Snipcart)
- Content Serving APIs (e.g. Contentful)
- Search functionality via third-party services (e.g. Algolia)
- Custom serverless functions
- Custom data stores and data queries
Developers building their site with Jamstack naturally take on a microservices approach to building out their server-side functionality and are eager to make use of existing APIs that fulfill their requirements. In the early prototyping and exploration phases, the search for suitable APIs includes sampling third-party API services.
To get developers to adopt and enjoy your API, you can’t just tell them about features, you need to show them you care about their experience with your documentation. In the case of a bad or missing documentation, the crowd will inevitably seek alternatives that offer a better experience.
If you’re looking for some helpful guidance, Andy Trattner sat down with me in April to write up his 4 Steps to Implementing Stellar Documentation for the ReadMe blog, while API Engineer Jon Ursenbach told us all about How to Make Your API More Enjoyable to Use. Documentation owners will find these articles help them to feel more confident they’ve properly considered their developer experience.
Hungry for more Jamstack knowledge? Here are some sweet resources to help you get started:
- An extensive list of awesome Jamstack resources and APIs, curated on GitHub.
- Netlify’s Jamstack resource site.
- Tamas Piros’ free course catalog (itself a Jamstack app!).
The Jamstack development phenomenon shows little sign of slowing down and now you know why: fast, scalable static architecture made dynamic thanks to APIs. With an easy developer experience free of server-side concerns, we’ll continue to see its popularity rise as the age of cloud computing continues. Jam on!
(This article was originally published for ReadMe)