İçeriğe geç
parazade

JAMstack Nedir?

Yayın: · Son güncelleme:

JAMstack Nedir? Kısaca

JAMstack, web sitelerini önceden üretilmiş statik sayfalar, tarayıcıda çalışan JavaScript ve harici API'ler üzerine kuran bir web mimarisi yaklaşımıdır. Hız, güvenlik ve düşük barındırma maliyeti hedefler.

JAMstack nedir?
İçindekiler
  1. JAMstack nedir?
  2. Nasıl çalışır?
  3. Avantajları ve sınırları

JAMstack nedir?

JAMstack, "JavaScript, API ve Markup" kelimelerinin baş harflerinden oluşan bir web mimarisi adıdır. Bu yaklaşımda sayfaların HTML'i (markup) derleme sırasında önceden üretilir. Dinamik ihtiyaçlar ise tarayıcıda çalışan JavaScript ve harici API servisleriyle karşılanır.

Geleneksel bir sitede her istekte sunucu ve veritabanı çalışır. JAMstack'te ise ziyaretçiye çoğunlukla bir CDN üzerinden hazır dosyalar gönderilir, sunucu tarafı mantık ayrı servislere dağıtılır.

Nasıl çalışır?

Tipik bir JAMstack projesinde içerik, başsız (headless) bir içerik yönetim sisteminde ya da Markdown dosyalarında tutulur. Astro, Hugo veya Next.js gibi bir araç bu içerikten statik sayfalar üretir. Dosyalar CDN'e yüklenir.

Örneğin bir yazılım kursunun tanıtım sitesini düşünün. Kurs sayfaları statik olarak üretilir. Kayıt formu bir form servisine, ödeme bir ödeme sağlayıcısının API'sine, arama kutusu da bir arama servisine bağlanır. Editör yeni bir ders eklediğinde webhook tetiklenir ve site birkaç dakikada yeniden derlenir.

Avantajları ve sınırları

Hazır dosyalar CDN'den sunulduğu için sayfalar hızlı açılır. Sunucuda sürekli çalışan bir veritabanı olmadığından saldırı yüzeyi küçülür ve barındırma maliyeti genellikle düşer.

Binlerce sayfası olan ve içeriği dakikalar içinde değişen sitelerde ise her değişiklikte yeniden derleme zahmetli hâle gelebilir. Böyle durumlarda artımlı yeniden üretim ya da sunucu tarafı oluşturma gibi karma çözümler tercih edilir. Ayrıca harici servislerin her birinin ücretlendirmesini ve sınırlarını önceden kontrol etmek gerekir.

Sıkça Sorulan Sorular

JAMstack ile statik site aynı şey mi?

Yakındır ama aynı değildir. JAMstack statik sayfaları temel alır, ancak formlar, ödeme ve arama gibi dinamik özellikleri API'lerle ekleyerek daha kapsamlı uygulamalar kurmayı hedefler.

JAMstack öğrenmek için ne bilmek gerekir?

HTML, CSS ve JavaScript temelleri, bir statik site üreticisi ve API kullanmayı bilmek yeterlidir. Git ve temel derleme süreçleri de işinizi kolaylaştırır.

İlgili terimler