Bir web sitesinin hızını nasıl ölçersiniz? Lighthouse skoruyla mı? Sunucu yanıt süresiyle mi? Yoksa veritabanı sorgusunun bitiş hızıyla mı?
Bir mühendis olarak bu metrikler bizim kutsal kitabımızdır. Ancak unuttuğumuz bir gerçek var: Kullanıcıların elinde kronometre yoktur.
Kullanıcı, API'dan gelen yanıtın 200 milisaniye mi yoksa 400 milisaniye mi sürdüğünü bilmez. Bildiği tek şey, ekrandaki butona bastığında hissettiği akıcılıktır. İşte bu noktada, modern Frontend geliştirmeciliğinin en ince sanatı devreye girer: Algısal Performans (Perceived Performance).
1. Beklemenin Psikolojisi: Skeleton Ekranlar vs. Dönüp Duran Çarklar
Eskiden bir veri yüklenirken ekranın ortasına dönen bir çark (spinner) koyardık. Bu, kullanıcıya teknik olarak "bekle, çalışıyorum" demektir. Ancak psikolojik olarak "işim bitmedi, sana gösterecek bir şeyim yok" mesajı verir ve bekleme süresini olduğundan daha uzun hissettirir.
Bugün geliştirdiğim projelerde, "Skeleton Loading" (İskelet Ekranlar) yapısını tercih ediyorum. İçerik henüz gelmese bile, sayfanın şablonunu anında göstererek beyne "yüklenme tamamlandı, sadece metinler geliyor" sinyali gönderiyoruz. Bu ufak illüzyon, bekleme stresini azaltır ve terk etme oranlarını (bounce rate) ciddi ölçüde düşürür.
2. Geleceği Tahmin Etmek: Optimistic UI (İyimser Arayüzler)
Hiç Instagram'da bir fotoğrafı beğendiğinizde, internetiniz kesik olsa bile o kalbin anında kırmızıya döndüğünü fark ettiniz mi?
Buna Optimistic UI diyoruz. Kullanıcı bir aksiyon aldığında (bir butona tıkladığında veya form gönderdiğinde), sunucudan "başarılı" yanıtını beklemeden arayüzü güncelliyoruz. Arka planda sunucuyla konuşurken, kullanıcıya işinin bittiği hissini veriyoruz.
Eğer bir hata olursa? Kullanıcıya kibarca bir bildirim gösterip eski haline döndürüyoruz. Ancak vakaların %99'unda hata olmaz ve kullanıcı, sitenizin ışık hızında çalıştığını düşünür.
"Hız, sadece baytların transfer süresi değildir; hız, kullanıcının zihnindeki akışın kesintiye uğramamasıdır."
3. Google Ne Diyor? (CLS ve Görsel Kararlılık)
Algısal performansın bir diğer düşmanı, sayfa yüklendikten sonra öğelerin yer değiştirmesidir (Cumulative Layout Shift). Kullanıcı tam bir butona basacakken reklamın geç yüklenip butonu aşağı kaydırması, sadece kötü bir deneyim değil, aynı zamanda SEO puanını (Core Web Vitals) yerle bir eden bir hatadır.
Frontend mimarisini kurarken, görsellerin ve blokların kaplayacağı alanları önceden rezerve etmek (aspect-ratio boxes), sadece Google botlarını değil, kullanıcının göz konforunu da mutlu eder.
Sonuç: Mühendislik Empatiyle Başlar
Kod makineler için derlenir, ancak insanlar için yazılır. Mükemmel temizlikte bir kod yazabilirsiniz, harika bir veritabanı mimarisi kurabilirsiniz. Ancak günün sonunda başarınızı belirleyen şey, kullanıcının ekran başında geçirdiği o birkaç saniyelik deneyimde kendini ne kadar "kontrol sahibi" hissettiğidir.
Gerçek performans, teknolojiyi insan psikolojisiyle harmanlayabilmektir.