JAMstack

Modern web development architecture based on client-side JavaScript, reusable APIs, and prebuilt Markup


What is the JAMstack


Apps built in Jamstack architecture met the following criteria: - JavaScript, any dynamic programming during the request/response cycle is handled by JavaScript, running entirely on the client - APIs, all server-side processes or database actions are abstracted into reusable APIs, accessed over HTTPS with JavaScript - Markup, templated markup should be prebuilt at deploy time, usually using a site generator for content sites, or a build tool for web apps


Why using a JAMstack app?


The major advantages met by the JAMstack pattern are: - Apps are much faster because there is no more dynamic build of the pages - Security - a static app with less API endpoints reduce allot the risk of being hacked - Better developer experience - using a JAMstack app a developer needs only a simple editor and a console to create and deploy an app


Sample JAMstack App


For instance, let's build a sample JAMstack app by getting the source code from Github. Let's pick up the first result, open the README file and follow the intructions provided:

$ git clone https://github.com/app-generator/jamstack-fractal.git
$ cd jamstack-fractal

$ yarn # install modules
$ yarn start # start the app for development

$ yarn build # build for production

If all goes well, the app can be visited on http://localhost:8000 As we can see, building an app in JAMstack architecture is quite an easy job.