The JAM stack is a new way of building websites and apps that are fast, secure and simple to work with.
When the LAMP stack started to gain prominence in the late 90s, it grew out of a set of constraints that are no longer present. Browsers were primitive document readers back then, and just about anything dynamic, social or interactive had to happen on the server. The only form of affordable hosting was shared hosting. Deployments consisted of uploading files through FTP. Version control was mostly absent from the day-to-day workflows of web developers.
Today browsers are the operating system of the web, and are able to run complex applications completely client side. They are capable of consuming and interacting with an ever growing amount of APIs and services across domains and infrastructures. CDNs (Content Delivery Networks) have gone from being a luxury only large corporations could afford, to being the natural way to cut down the time to first byte for sites and apps of all sizes. Deployment models have shifted from cumbersome manual uploads to automated processes triggered by ever-present version control systems.
The JAM stack is the stack for this new reality. Instead of FTPing server-side code to a shared server, we push to git and our code is instantly built and distributed onto CDN nodes across the world. Instead of depending on a database for every request we serve, we use build tools to ship full sites and apps ready to run directly in the browser. Instead of mixing persistence, HTML generation, credit-card transactions, authentication, etc, all together, we separate these concerns and consume well defined APIs from our front-end.
Spread the JAM!