Performans bütçesi hedef değil, sınırdır
“Site hızlı olsun” bir karar değil, bir dilek. Karar şu: anasayfa gzip sonrası 200 KB’ı geçmeyecek. Aradaki fark, ikincisinin bir şeyi reddetmene yaramasıdır.
Neden hedef değil
Hedef, ulaşamazsan üzülüp geçtiğin şeydir. Sınır, aştığında geri dönüp bir şeyi çıkardığın şeydir. Aynı sayıyı hangi kelimeyle andığın, ona uyup uymayacağını belirliyor.
Bir animasyon kütüphanesi eklemek istediğinde soru “bu güzel olur mu” değil, “bu 20 KB’lık JS bütçesinin neresine oturuyor” olmalı. Cevap “oturmuyor” ise ya bütçeyi bilinçli olarak değiştirirsin ya da kütüphaneyi almazsın. Üçüncü seçenek, yani bütçeyi görmezden gelmek, bütçeyi baştan yazmamakla aynı şey.
Ölçmediğin bütçe yoktur
Bütçeyi yazıp ölçmemek en kötüsü, çünkü uyduğunu sanırsın. Build çıktısındaki boyutlara bakmak yetmiyor, gzip sonrası transfer boyutunu ölçmek gerekiyor.
Font dosyaları burada en sık kaçan kalem. Dört ağırlık, latin ve latin-ext subset, hepsi woff2 olsa bile toplamı hızla yüz kilobayta yaklaşıyor. Kaç ağırlığa gerçekten ihtiyacın olduğunu, bütçe seni zorlamadan sormuyorsun.