Definicja
Jamstack (JavaScript, APIs and Markup) to wzorzec architektury webowej, w którym etap budowania kompiluje witrynę do statycznego HTML, CSS i JavaScript z wyprzedzeniem, serwuje ten wynik z globalnej sieci CDN, a całą logikę dynamiczną przenosi do funkcji bezserwerowych lub zewnętrznych API, zamiast korzystać z długo działającego serwera źródłowego. Ponieważ strony są wcześniej zbudowane, większość żądań nigdy nie trafia do bazy danych czy serwera aplikacji: węzły brzegowe CDN zwykle zwracają HTML w czasie poniżej 50ms, a nie ma procesu źródłowego, który można by skompromitować. Dzięki temu strony ładują się szybciej, koszt hostingu przy dużej skali jest niższy, a powierzchnia ataku mniejsza niż w tradycyjnych stosach renderowanych po stronie serwera, takich jak WordPress czy LAMP, choć budowanie staje się wolniejsze, gdy witryna rozrośnie się powyżej kilku tysięcy stron, a zespoły napotykają realną krzywą uczenia się. Netlify wprowadziło ten termin w 2015 roku; obecnie jest to domyślna architektura dla witryn marketingowych, dokumentacji i frameworków frontendowych takich jak Next.js, Astro, SvelteKit i Nuxt, hostowanych na Vercel, Netlify, Cloudflare Pages i podobnych platformach.
Jak to działa
Etap budowania Jamstack jest wykonywany w momencie wdrożenia (lub na żądanie poprzez ISR) i tworzy statyczny HTML, CSS i JavaScript, które CDN serwuje bezpośrednio. Funkcje dynamiczne (obsługa formularzy, wyszukiwanie, autoryzacja, płatności) są obsługiwane przez funkcje bezserwerowe lub zewnętrzne API wywoływane z klienta.
Dlaczego to ma znaczenie
Dla większości witryn marketingowych, dokumentacyjnych i treściowych Jamstack zapewnia lepsze wskaźniki Core Web Vitals, niższy koszt hostingu przy dużej skali oraz lepsze bezpieczeństwo niż tradycyjny hosting dynamiczny. Ceną za to są bardziej złożone procesy budowania i krzywa uczenia się dla zespołów przyzwyczajonych do WordPress lub LAMP.