6

I have been studying about JAMstack. As far as I understand JAMstack means:

  • J - JavaScript
  • A - API
  • M - Markup

I have two questions:

  1. I'm actually not clear about the Markup here. Is it pre-rendered markup (i.e, pre-rendered HTML)?

  2. Our office project is developed in React and external APIs. Since the project is developed with JavaScript (React) and APIs and we know that React delivers the pre-rendered chunk from the server, then is it JAMstack?

8
  • I am sure it is prerendered. Examples used are outputs from static site generators like Gatsby. Commented Jan 13, 2020 at 8:05
  • Given that you aren't sure what JAMstack is or even if your current app already meets that definition, a more pertinent question might be: why do you think you should convert it? What problem are you trying to solve, and how confident are you that this will solve it?
    – jonrsharpe
    Commented Jan 13, 2020 at 8:08
  • 1
    Markup is your pre-rendered HTML. If you can compile your project and can host the generated static files on aws s3 or netlify, because all the content is taken from apis, your page is basically already JAM stack. There are tools like gatsby (react) or gridsome (vue) to help you kickstart JAM stack projects with easy routing, transitions and hosting solutions
    – oshell
    Commented Jan 13, 2020 at 8:43
  • 1
    You still have no reason why, if it turns out your current solution isn't JAMstack, to start converting it. Don't fall into the "Medium-driven development" trap. Look for tools and architectures that can actually help you solve the problems you have.
    – jonrsharpe
    Commented Jan 13, 2020 at 8:47
  • 1
    The static files approach means, you can publish your assets via cdn for better scalibility. It also means better developer experience for frontend developers and cheaper hosting. Depending on your project, there is probably only one part missing, like hosting your static assets on a cdn.
    – oshell
    Commented Jan 13, 2020 at 8:51

3 Answers 3

4
  1. "Markup" is for a markup language such as Markdown, but maybe also all other languages, AsciiDoc, etc. With JAMstack we have the constraint, and advantage, that it is static rendered, as opposite to other CMSes, like WordPress

  2. I discovered with you the JAMstack principle, the most important is that it is statically rendered, using Git as backup. So:

  • if you are using React in the runtime phase, it is not JAMstack,
  • but if you use it at compile time and deliver rendered HTML content to your production HTTP server, it is JAMstack.

Here is an article stating that the most important is having static files, not only JavaScript, calling "SHAMstack": JAMstack? More like SHAMstack

I have used, for example, static pages of GitHub using Jekyll (the default on GitHub) and Markdown. The HTML content is rendered on the commit.

2
  • That means, it is not mandatory to use any server-side renderer (like nextjs, nuxtjs etc.) to be JAMstack, Am I right ? If right then how can the nextjs project be uploaded in cdn ? @pdem
    – Shamim
    Commented Jan 13, 2020 at 9:32
  • 1
    I'm not sure which CDN you are using, but I would see two main methods: 1. compile on local, then upload using FTP or whatever upload software. 2. use a build server that already manage markdown and is updated by git, and will build and render the html on each commit. like in github pages for example.
    – pdem
    Commented Jan 13, 2020 at 10:03
0

Markup means that websites are served as static HTML files. These can be generated from source files, such as Markdown, using a Static Site Generator.

0

Netlify has moved away from the JAMstack acronym. Now it's Jamstack - a name that describes the development philosophy but doesn't have any meaning beyond that. The reason for this is the JAM was abigious. What if I don't use JavaScript or an API on a static site? Is it still a JAMstack site?

As for the original meaning of Markup, it's the idea of prerendering the majority of the content on the site instead of rendering it on-demand.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.