What is the JAM Stack

javascript-logo

JAM stack is a concept not a library, it is not about specific technologies to be used, instead, the JAM stack offers a new modern way of building websites and apps, that in general are better with higher security, have better performance, cost less, and offer great developing experience. In JAM stack J stands for JavaScript, A stands for APIs, and M stands for Markup. JAMstack was created by Netlify in 2018.

JavaScript: Running entirely on the client-side, any dynamic programming during the request/response cycle is handled by JavaScript. This could be any frontend framework or library like React, Angular, Vue, or even vanilla JavaScript.

APIs: All server-side database actions or functions are abstracted into reusable APIs, accessed over HTTPS with JavaScript.

Markup: Templated markup should be built at deployment, usually using a site generator for content sites, or a build tool for web apps like Gatsby.js or Webpack.

Advantages of JAMstack

Better Performance, pages are generated at deploy time instead of traditional build on the fly.

Higher Security, with server-side processes abstracted into microservice APIs, surface areas for attacks are greatly reduced.

Cheaper and Easier Scaling, static content can be placed on a CDN making it very easy to dynamically scale it.

Better Development Experience, Loose coupling and separation of controls allow for better development and debugging.

JAMstack vs Traditional

In traditional workflow, building and hosting are coupled. When a user request a page, the page is procesed and served with a long series of interaction between the back-end and the database. With the JAMstack building and hosting are decoupled, when a user request a page, the page is already build and it is directly served from the CDN. Updates to the traditional way are with platforms like WordPress or Drupal, the JAMstack content updates are through Git or a static site CMS.

Conclusion

JAMstack is becoming more and more popular day by day in the dev community, to get started with developing for JAMstack you will need JavaScript skills, it is front-end development after all. For more information, resources and best practices you can visit jamstack.org




#jamstack

Author: Aleksandar Vasilevski |