«Jamstack» изначально назывался «JAMstack», где «JAM» означало «JavaScript, API & Markup».

JavaScript. Динамические функции обрабатываются JavaScript. Нет никаких ограничений на то, какой фреймворк или библиотеку вы должны использовать.

API: операции на стороне сервера абстрагируются в многоразовые API и доступны через HTTPS с помощью JavaScript. Это могут быть сторонние сервисы или ваша пользовательская функция.

Разметка. Веб-сайты представляют собой статические HTML-файлы. Их можно сгенерировать из исходных файлов, таких как Markdown, с помощью генератора статических сайтов.

Сегодня Jamstack используется для более широкого обозначения архитектурного подхода к созданию веб-сайтов. Хотя сегодня существуют разные мнения о том, что именно означает Jamstack, эти атрибуты присутствуют на большинстве сайтов, которые претендуют на звание сайтов Jamstack:

Отдельно: передняя часть использует инструменты отдельно от задней части. Внешний интерфейс обычно создается с использованием генератора статических сайтов. А серверная часть часто интегрируется с передней за счет использования API-интерфейсов, используемых в процессе сборки. Серверные процессы также могут выполняться с использованием бессерверных функций.

Сначала статические.Хотя существуют различные методы добавления динамических элементов на сайты Jamstack, большинство из них предварительно визуализируются, что означает, что внешний интерфейс был создан и скомпилирован в файлы HTML, CSS и JavaScript.

Постепенное улучшение:JavaScript можно вводить в предварительно обработанные сайты по мере необходимости, что повышает производительность в браузере.

Вот основные преимущества Jamstack.

Более высокая производительность.Обслуживайте предварительно созданную разметку и ресурсы через CDN.

Более безопасный: не нужно беспокоиться об уязвимостях сервера или базы данных.

Менее дорого. Размещение статических файлов дешево или даже бесплатно.

Улучшенный опыт разработчиков.Разработчики интерфейсов могут сосредоточиться на интерфейсе, не привязываясь к монолитной архитектуре. Обычно это означает более быстрое и целенаправленное развитие.

Масштабируемость.Если ваш продукт внезапно становится вирусным и у него много активных пользователей, CDN легко компенсирует это.