Loading Daydream

What is a JAMstack

What is a JAMstack

From the jamstack.org website, we get the definition of a JAMstack which is a “modern web development architecture based on client-side JavaScript, reusable API’s and prebuilt Markup. Ok this makes sense, but you may be asking why the JAMstack instead of a fullstack approach? Let me explain how the JAMstack has benefited our team here at Daydream.

The first thing to notice about the JAMstack is that it is heavily focused around the modern web and the idea of client-side processing. With the power of our smartphones improving every year, many of them can now do what our servers do just as well. With many powerful client-side frameworks becoming very popular such as Angular, React and Vue.js, there is no reason we can’t move our logic to the frontend. Keeping our servers simple, it is easy to move from large expensive dedicated hosting platforms to serverless architectures or even simple API’s to accomplish almost any task.

Keeping the server simple means we can host on cheap hardware and still keep our applications scalable. Since the JAMstack moves the logic to the frontend, the frontend can be served over a CDN allowing our JAMstack applications to be almost infinitely scalable. Scalability is a huge plus of the JAMstack.

What about security? The great thing about the JAMstack is that most of our logic is just sitting in client-side JavaScript files and not typical server files such as php. This allows us to keep our application much more secure.

Lastley the JAMstack allows us to have different components loosely coupled which means that we can easily add or remove components from a project. If we decide that we want to connect an IOT device to our web app, we can easily do this with the JAMstack as our clients and server are seperated.

Moving to the JAMstack will help you to scale easily, improve security and offer an all around better developer experience.

About the Author

Brayden Girard

Brayden Girard is the founder of Daydream. In 2015 Brayden finished his undergrad in Computer Science at Carleton University accompanied by a minor in Business and a Masters in Engineering.