«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 легко компенсирует это.