JAM Stack

This website is based on a JAM stack, i.e. JavaScript, APIs, and Markup.

The site only consists of static content, without server-side scripting, application servers, database management systems or the like. In contrast to multi-tier web architectures with many layers, a JAM stack only requires a web server, e.g. apache or nginx. Its architecture is therefore akin to the traditional “tim-berners-lee-web”, however, using up-to-date web technologies. This approach is obviously not practical for all applications, e.g. interactive web applications or web services in larger service-oriented architectures require the management of sessions and persisting user data on the server side. However, client-side javascript can be used in many cases for interactive site elements and for creating a responsive design. Page loading times decrease due to reduced latency on the server-side, less http requests/responses and more efficient caching – all elements can be cached locally, or saved and archived locally. Another reason for the JAM stack is security; client-definable payload to be passed to server applications is not required, making the site reasonably secure against exploits relying on code injection.

Static site generators can be used for building a JAM stack site out of a directory structure with markdown and configuration files. Hugo is used here; some popular generators are: