DEV Community

Cover image for What is the JAMstack?

What is the JAMstack?

Elizabeth Alcalá on May 08, 2020

If you are like me, maybe you have heard the term, or maybe you are overwhelmed by the many static site generators and don't know what exactly they...
Collapse
 
sergix profile image
Peyton McGinnis

My implementation of the JAMStack has truly decoupled components, a great user experience, and did I mention....

...it tastes great?

Collapse
 
luisaugusto profile image
Luis Augusto

This is a great explanation! I love using JAMstack and I try to build with it whenever I can, but it is so hard to convince clients to approve it over something like Wordpress, ever after explaining the benefits. Some people are just averse to change.

Collapse
 
rahuldkjain profile image
Rahul Jain • Edited

Superb explanation indeed. For vuejs, gridsome will be a good choice.

Collapse
 
elisealcala profile image
Elizabeth Alcalá

Hey, thanks. I didn't use gridsome but I'll try it.

Collapse
 
sergix profile image
Peyton McGinnis

Gridsome is the best for Vue sites that are truly static, but I also like using Nuxt for more complex Vue SPAs nowadays.

Collapse
 
amarachiamaechi profile image
Amycruz 👩‍💻 👩‍💻 👩‍💻

In my opinion, JAMstack is not about specific technologies. JAMstack is a new way of building websites and apps that delivers better performance, higher security, lower cost of scaling, and a better developer experience. It is the combination of underlying tooling that makes JAMstack so exciting. JAMstack is composed of 3 components: Javascript, APIs, and Markup. Read more about JAMstack here 👉 agilitycms.com/resources/posts/top...

Collapse
 
veewebcode profile image
VeeWeb Code

Don't want to read? Watch the text converted video: youtu.be/zuJpJTI4qWI .

Collapse
 
ironhelixx profile image
Jesse R Davis

It's usually good form to A) get permission first, and B) credit the author whose content you used - FYI

Collapse
 
veewebcode profile image
VeeWeb Code

I will keep in mind next time.. Thank You

Collapse
 
elisealcala profile image
Elizabeth Alcalá

Wow, that's great, what tool did you use?

Collapse
 
veewebcode profile image
VeeWeb Code

Just some video editing software.. :)

Collapse
 
alexmenor profile image
Alex Menor

Is the JAMstack suitable for applications that get its content updated frequently? Let's say: Would be possible to build a site like reddit?

Collapse
 
sergix profile image
Peyton McGinnis

You certainly can, although very large applications with a lot of pages are often better to be rendered on the server side in my opinion. But a Reddit-like JAMStack implementation would probably not be too difficult. You would write a few page layouts: subreddit, post, user settings, etc., then pull in the data to be inserted in these layouts from a serverless backend. This is why JAMStack is so flexible because ideally your content is completely decoupled from its presentation layer.

Collapse
 
alexmenor profile image
Alex Menor

Then, it should rebuild every time an user submits a new post? I guess that you could somehow do it incrementally, but wouldn't it be a huge bottleneck? Thanks!

Thread Thread
 
sergix profile image
Peyton McGinnis

No, you can still use fetch calls and other dynamic client-side code from a JAMStack app, so you don't rebuild. But this is why I say large applications are better rendered server-side though—you really shouldn't have a static site or SPA that is trying to act like a really dynamic application with a ton of client-side fetch calls.

Thread Thread
 
alexmenor profile image
Alex Menor

That posts wouldn't get SEO and basically all the benefits of being static are also lost. I get it now, thanks!

Collapse
 
vanityespinosa profile image
Van

What a great description for JAMStack! Thanks for the info Elizabeth!