The jamstack is useful in quite a lot of situations, and this is due in part to the broad nature of the term. You see while some “stacks” refer to a very specific group of technologies brought together to form a set, the jamstack does not.
JAMstack breaks down into:
If you are a programmer used to other stacks this might actually confuse you a bit. This may seem a bit vague. That is because while it uses the word stack it is almost more of an architecture similar to how MVC is an architecture. We don’t call it the MVCstack though. On Jamstack.org they have a great post explaining what the actual ideas behind the jamstack are, but to briefly summarize. Use static site builders to build out a majority of your site. Then use API’s, either third party or custom built to add as much dynamic content as you need. It is a really awesome idea that has been around for a long time.
Before the jamstack was JAMstack
Well before it was called that JAMstack I started messing around with this approach after learning that Development Seed uses something called Jekyll. You could even use AJAX and build a Rails API and you where fully jamstacking in the Victorian era. I was making many a todo app this way let me tell you, and even a little bit of client work. A bit strange to reflect on this time and remember using things like CoffeeScript to make “jamstack” apps.
Back in the Jekyll days this was a fine way to build some sites. As long as your client was basically entirely hands off it was no problem. You can even still see most Development Seed posts from back then take a widely anti-cms stance. Back then most people relied on some UI that you could write posts in that would commit markdown to a GitHub repo. Wild times, obviously clients hate this, most of this is different now. Client hand-off for jamstack sites is really easy while still giving a lot of power to a non technical content manager of the site.
Putting the J in Jam.
You are probably still wondering when you should use the jamstack. I hope that by providing you some history you might have perspective on why my answer to that is very simple. If you are investing in a web project, you should likely consider the jamstack, with very few exceptions. I personally have built most of my websites this way for a long time now and plan to continue for the foreseeable future. I recommend it to most clients I speak to, and only see things improving in the future for the jamstack.
*I think MERN apps can be hosted as cloud functions and you could certainly make a case for this being a jamstack app, but traditional MERN apps are not.