Tarayıcı ve frontend
Tarayıcı sayfayı nasıl çizer?
HTML’den piksellere: DOM, CSSOM, render ağacı, layout ve paint.
Kavramı anlayalım
Tarayıcı HTML’i yukarıdan aşağı okuyarak DOM ağacını kurar. CSS dosyalarından CSSOM oluşur. İkisi birleşince render ağacı çıkar; tarayıcı her öğenin konumunu ve boyutunu hesaplar (layout) ve pikselleri boyar (paint). Son adımda katmanlar birleştirilir (composite).
CSS ‘render’ı engeller: stiller gelmeden tarayıcı içeriği çizmez, çünkü yanlış görünümü gösterip sonra düzeltmek kötü bir deneyimdir. Normal bir script etiketi ise HTML ayrıştırmasını durdurur; defer veya async işaretli script’ler indirme sırasında ayrıştırmanın devam etmesine izin verir. Next.js kendi script’lerini bu şekilde yükler.
Kullanıcının hissettiği hız bu adımlara bağlıdır. Ana içeriğin ne zaman göründüğü (LCP), sayfanın etkileşime ne kadar hızlı tepki verdiği (INP) ve öğelerin yüklenirken kayıp kaymadığı (CLS) Core Web Vitals metrikleridir. Boyutu bilinmeyen bir görsel geç yüklendiğinde altındaki metni iter; genişlik ve yükseklik vermek bunu önler.
Sunucu hızlı olsa bile kötü yüklenen bir sayfa yavaş hissedilir.
Büyük bir JavaScript paketini head içinde senkron yüklemek ve ilk çizimi geciktirmek.
Aynı konu. Üç farklı derinlik.
<img src="/kapak.jpg" alt="Kapak" width="1600" height="900">Genişlik ve yükseklik verilen görsel için yer önceden ayrılır; sayfa kaymaz.
Bu sayfa gerçek bir sunucuya veya veritabanına bağlanmaz. Kod örnekleri .NET 8, Next.js ve SQL Server için temsilîdir; süreler simülasyondaki örnek değerlerdir, ölçüm değildir. Örnekleri yalnız kendi geliştirme ortamında dene; gerçek bağlantı dizesi, token veya parola paylaşma.
Önce kendin dene.
Bir blog sayfasında başlık yüklenince aşağı kayıyor, çünkü üstteki kapak görseli geç geliyor. İki farklı çözüm öner.
Çözümü ve açıklamasını göster
1) <img> için width/height veya CSS aspect-ratio vermek
2) Kapak için yer tutan bir kapsayıcı (aspect-ratio: 16/9) ve next/image ile boyut bildirmekSorun, tarayıcının görselin boyutunu bilmemesidir. Boyut önceden bilinirse yer ayrılır ve CLS düşer.