Konu Başlıkları
Yükleniyor...

Eski Tarayıcı Desteği: Kime, Ne Kadar, Neyin Karşılığında

Eski Tarayıcılara Destek Vermenin Gerçek Maliyeti

Eski tarayıcı desteği, dünya geneli pazar payı tablosuna bakılarak verilecek bir karar değil. Kendi trafiğinde o sürüm yüzde kaç, o kullanıcılar sitede ne yapıyor, desteği sürdürmek ekibe ne kadara mal oluyor. Karar bu üç sayının kesiştiği yerde. Çoğu ekip yanlış sayıya bakıyor ve sonuç ya gereğinden fazla yük ya da sessizce kaybedilen bir kullanıcı grubu oluyor.

Global istatistik değil, kendi verin

Dünya genelinde bir tarayıcı sürümünün payı senin sitendeki payıyla ilgili neredeyse hiçbir şey söylemez. Kurumsal bir panelde, BT departmanı sürümü kilitlediği için tek bir eski tarayıcı trafiğin onda birini tutabilir; aynı sürüm halka açık bir içerik sitesinde binde ikidir.

Analitikte tarayıcı sürümü kırılımını oturum sayısıyla değil, dönüşüm ya da gelirle kesiştir. Oturumların %0,4'ü gelirin %6'sı olabiliyor: eski sürümde takılan kitle çoğu zaman kurumsal alıcı tarafıdır, ödemeyi de onlar yapar. Oturum grafiğine bakıp "ihmal edilebilir" demek, tam da parayı bırakan segmenti kesmek anlamına gelebilir.

Destek sözünü tanımla: çalışır, aynı görünmez

"Destekliyoruz" ile "desteklemiyoruz" arasındaki boşluk asıl çalışılması gereken yer. Üç seviyeli bir tablo yaz ve ekipte görünür bir yere as:

  • Tam destek: tasarımla birebir aynı, her sürümde test edilir.
  • İşlevsel destek: gölge, animasyon, yapışkan başlık gider; arama, form ve ödeme akışı sonuna kadar çalışır.
  • Test edilmez: bilinçli olarak bırakılmıştır, hata gelirse kapatılır.

Bu tablo olmadan her tarayıcı hatası bir tartışmaya dönüşür. Tablo varsa soru tek satırda kapanır: bu sürüm ikinci seviyede, görsel fark hata değil, ödeme akışındaki kopma hata.

Polyfill faturasını kim ödüyor

Eski tarayıcı desteğinin görünmeyen maliyeti burada. Ana pakete konan polyfill'leri, o polyfill'e hiç ihtiyacı olmayan kullanıcılar da indirir ve ayrıştırır. Yüzde birlik bir kitle için yüzde yüze vergi kesmiş olursun; üstelik vergiyi ödeyenlerin çoğu, bant genişliği en dar olan mobil kullanıcılardır.

Bunu iki script etiketiyle çözersin, ayrı bir araca gerek yok: <script type="module"> modern tarayıcıya, <script nomodule> eskisine gider. Modül desteği olan tarayıcı ikincisini atlar, olmayan birincisini anlamaz. Eski Safari sürümlerinde nomodule dosyasını da çalıştıran bilinen bir hata var, bunun için dolaşan küçük bir düzeltme kodu yeterli.

CSS tarafında iş daha da ucuz. Tarayıcı anlamadığı bildirimi atar, o yüzden yedek değeri üste, yeni değeri alta yazmak bedavaya gelen bir güvenlik ağıdır. Gerçekten dallanma gerekiyorsa @supports var. Bir özelliğin hangi sürümden itibaren güvenli olduğunu tahmin etmek yerine caniuse üzerinden bak, karar beş saniyede çıkıyor.

Test edilmeyen destek, destek değildir

Destek listesinde yazan ama kimsenin açıp bakmadığı bir sürüm, listede olmayan sürümle aynı şeydir. Sanal makine kurmaya üşeniyorsan en azından hata izleme aracının tarayıcı sürümü kırılımını haftada bir aç. Belirli bir sürümde patlayan JavaScript hataları orada zaten birikiyor, kimse bakmadığı için görünmüyor.

Bir de sunucu tarafında çalışan sağlam bir yedek yol bırak. Formun JavaScript olmadan da POST edebilmesi, onlarca sürümü tek tek kovalamaktan daha az iş ve daha çok kullanıcı kurtarır.

Fişi ne zaman çekersin

Kuralı önceden yaz, tartışma çıktığında değil. Örneğin: bir sürüm iki çeyrek üst üste trafiğin %1'inin altında kalırsa bir sonraki çeyrekte ikinci seviyeye, ardından listeden düşer. Eşiği geçen sürümdeki kullanıcıya kapatmadan önce sitenin içinde uyarı göster, ne yapması gerektiğini söyle.

Bir de eski sürümü şirket bilgisayarında kilitli olan kullanıcının tarayıcısını değiştiremeyeceğini hesaba kat. Ona verilebilecek en iyi şey, süslü olmayan ama sonuna kadar çalışan bir sayfadır.