Jamstack: weby skládané z předem připravených stránek a API
Jamstack je přístup ke stavbě webů: stránky se vyrobí předem, rozešlou se přes síť serverů blízko návštěvníkům a všechno, co se musí počítat za běhu – formuláře, platby, vyhledávání – obstarají samostatné služby přes API. Výsledkem je rychlý a odolný web. Za cenu toho, že se skládá z více dílů.
Aktualizováno
Co znamenají písmena J, A a M
Název vznikl kolem roku 2016 v prostředí hostingové firmy Netlify jako zkratka tří stavebních kamenů. Dnes se píše jako jedno slovo, ale význam zůstal:
| Písmeno | Co znamená | Úloha na webu |
|---|---|---|
| J – JavaScript | Kód, který běží v prohlížeči | Interaktivita: přepínače, filtry, odeslání formuláře bez znovunačtení |
| A – API | Rozhraní cizích nebo vlastních služeb | Vše dynamické: platby, rezervace, vyhledávání, komentáře |
| M – Markup | Předem vygenerované HTML | Obsah stránek, který je hotový dřív, než přijde první návštěvník |
Jádrem je tedy statický web, ke kterému se dynamické funkce připojují zvenčí přes API místo toho, aby je obsluhoval jeden velký program na serveru.
Cesta od změny k živému webu
Typický Jamstack projekt žije ve verzovacím systému (nejčastěji Git). Každá změna – nový článek, upravená cena, oprava překlepu – projde stejnými kroky:
- Obsah se uloží do souborů v projektu nebo do headless CMS.
- Spustí se sestavení: generátor stránek stáhne obsah, spojí ho se šablonami a vyrobí hotové soubory.
- Hosting z nich obvykle vytvoří náhledovou verzi na vlastní adrese, kde se dá změna zkontrolovat.
- Po schválení se nová verze nahraje najednou na servery CDN. Návštěvníci nikdy nevidí napůl nahraný web.
- Když se něco pokazí, návrat k předchozí verzi je otázka jednoho kliknutí nebo příkazu.
Proč to někomu stojí za to
- Rychlost bez ladění serveru. Hotové soubory leží co nejblíž návštěvníkovi, nic se nepočítá.
- Odolnost při náporu. Kampaň v televizi nebo virální příspěvek neshodí databázi, protože u běžných stránek žádná není.
- Menší plocha pro útok. Na veřejné adrese není administrace ani přihlášení, citlivé operace běží u specializovaných služeb.
- Historie každé změny. Díky verzování víte, kdo co kdy změnil, a vrátit se dá kterákoli verze.
Kdy je Jamstack zbytečně složitý
Každá funkce, kterou neobslouží statická stránka, znamená další službu: jednu na formuláře, druhou na vyhledávání, třetí na obsah. Každá má vlastní účet, podmínky a předplatné (viz heslo SaaS). U malého webu se tak snadno stane, že spravujete víc dílů, než by vyžadoval jeden obyčejný systém.
Další situace, kdy přístup naráží:
- Obsah se mění po minutách a redaktor nechce čekat, než proběhne sestavení.
- Web má desítky tisíc stránek a celé sestavení trvá dlouho – řeší se to dílčím obnovováním, což přidává složitost.
- Většina stránek je osobní (účet zákazníka, objednávky, ceny pro přihlášené) a předem se toho moc připravit nedá.
- Chcete si web skládat sami z hotových bloků a doplňků bez vývojáře.
Jamstack dnes
Slovo se používá méně než před pár lety, protože jeho myšlenky převzaly běžné frameworky. Dnešní nástroje umí v jednom projektu kombinovat předem připravené stránky, stránky skládané na serveru i serverové funkce – příklad najdete v hesle Next.js. Hranice mezi „Jamstack“ a „klasickým“ webem se tak rozmazala a důležitější je otázka, které stránky mají vzniknout předem a které až na požádání.
Tento web, lagom.cz, stojí na předgenerovaných stránkách: Next.js se statickým exportem, v Lighthouse na počítači 100/100. Poptávka odeslaná formulářem putuje do našeho CRM, my o ní víme díky zprávě na Telegram a odesílatel dostane potvrzovací e-mail – princip popisuje průvodce kontaktní formulář.
Kolik takový web stojí u nás
Architekturu volíme podle zadání a cenu podle ní neměníme – rozhoduje rozsah. Do pěti stran s formulářem a mapou se vejdete do Vizitkového webu za 15 000 Kč. Když potřebujete blog, napojení na CRM nebo rezervace, je tu varianta Web na míru (35 000 Kč). O hosting hotového webu se stará tarif Light, měsíčně od 1 000 Kč.
Časté otázky
Je Jamstack konkrétní program nebo technologie?
Ne, je to způsob, jak web poskládat. Neinstaluje se, nedá se koupit ani stáhnout. Postavit ho můžete z různých generátorů stránek, hostingů a služeb – společný je jen princip předem připravených stránek doplněných o funkce přes API.
Pozná návštěvník, že je web postavený jako Jamstack?
Přímo ne. Všimne si nanejvýš toho, že se stránky načítají rychle a web nepadá ani při náporu návštěv. Formulář, platba nebo vyhledávání fungují stejně jako jinde, jen je obsluhuje samostatná služba.
Jak u Jamstack webu funguje kontaktní formulář?
Odeslání zpracuje malá serverová funkce nebo specializovaná služba, na kterou formulář data pošle. Ta je uloží, rozešle upozornění a odpoví návštěvníkovi. Samotné stránky webu přitom zůstávají statické.
Hodí se Jamstack pro e-shop?
Pro katalog a obsah ano, košík, sklad a platby ale musí obsloužit e-shopová platforma nebo vlastní backend přes API. U menšího e-shopu bývá jednodušší hotová platforma; Jamstack se vyplatí spíš tam, kde chcete vlastní vzhled a rychlost nad existujícím systémem.