Bağlantı zayıf veya güvenilmez olduğunda uygulamanızı ya da sitenizi kullanmanın nasıl bir deneyim olduğunu anlamak ve buna göre geliştirmek önemlidir. Çeşitli araçlar size yardımcı olabilir.
Düşük bant genişliği ve yüksek gecikmeyle test etme
Web'i mobil cihazlarda kullananların oranı gittikçe artıyor. Evde bile birçok kişi sabit geniş bant yerine mobil bağlantıyı tercih ediyor.
Bu bağlamda, bağlantı zayıf veya güvenilmez olduğunda uygulamanızı ya da sitenizi kullanmanın nasıl bir deneyim olduğunu anlamak önemlidir. Çeşitli yazılım araçları, düşük bant genişliğini ve yüksek gecikmeyi emüle ve simüle etmenize yardımcı olabilir.
Ağ sınırlamayı taklit etme
Bir siteyi oluştururken veya güncellerken çeşitli bağlantı koşullarında yeterli performans sağladığından emin olmanız gerekir. Bu konuda çeşitli araçlardan yararlanabilirsiniz.
Tarayıcı araçları
Chrome Geliştirici Araçları, Ağ panelindeki hazır ayarları veya özel ayarları kullanarak sitenizi çeşitli yükleme/indirme hızları ve gidiş dönüş süreleri ile test etmenize olanak tanır. Temel bilgileri öğrenmek için Ağ Performansını Analiz Etme özelliğini kullanmaya başlama başlıklı makaleyi inceleyin.

Sistem araçları
Network Link Conditioner, Xcode için Hardware IO Tools'u yüklerseniz Mac'te kullanılabilen bir tercih panelidir:



Cihaz emülasyonu
Android Emulator, Android'de uygulamaları (web tarayıcıları ve karma web uygulamaları dahil) çalıştırırken çeşitli ağ koşullarını simüle etmenize olanak tanır:


iPhone'da, bozuk ağ koşullarını simüle etmek için Network Link Conditioner kullanılabilir (yukarıya bakın).
Farklı konumlardan ve ağlardan test etme
Bağlantı performansı, sunucu konumunun yanı sıra ağ türüne de bağlıdır.
WebPagetest, çeşitli ağlar ve ana makine konumları kullanarak siteniz için bir dizi performans testi çalıştırmanızı sağlayan online bir hizmettir. Örneğin, sitenizi Hindistan'daki bir sunucudan 2G ağında veya ABD'deki bir şehirden kablo üzerinden deneyebilirsiniz.

Bir konum seçin ve gelişmiş ayarlardan bir bağlantı türü belirleyin. Hatta komut dosyalarını (ör. bir siteye giriş yapmak için) veya RESTful API'lerini kullanarak testleri otomatik hale getirebilirsiniz. Bu sayede, Connectivity Tests'i derleme işlemlerine veya performans günlük kaydına dahil edebilirsiniz.
Fiddler, GeoEdge üzerinden global proxy'yi destekler ve özel kuralları, modem hızlarını simüle etmek için kullanılabilir:

Bozuk bir ağda test etme
Yazılım ve donanım proxy'leri, bant genişliği kısıtlama, paket gecikmesi ve rastgele paket kaybı gibi sorunlu mobil ağ koşullarını taklit etmenize olanak tanır. Paylaşılan proxy veya bozuk ağ, bir geliştirici ekibinin gerçek dünyadaki ağ testlerini iş akışlarına dahil etmesine olanak tanıyabilir.
Facebook'un Augmented Traffic Control (ATC) aracı, trafiği şekillendirmek ve bozuk ağ koşullarını taklit etmek için kullanılabilen BSD lisanslı bir uygulama grubudur:

Facebook, 2G kullanan kişilerin ürünlerini nasıl kullandığını anlamak için 2G Salıları bile düzenledi. Salı günleri çalışanlara 2G bağlantısını simüle etme seçeneği sunan bir pop-up gösterilir.
Charles HTTP/HTTPS proxy'si, bant genişliğini ve gecikmeyi ayarlamak için kullanılabilir. Charles ticari bir yazılımdır ancak ücretsiz deneme sürümü mevcuttur.

Charles hakkında daha fazla bilgiyi codewithchris.com adresinde bulabilirsiniz.
Güvenilir olmayan bağlantı ve "lie-fi" sorunlarını giderme
Yalancı kablosuz ağ nedir?
Lie-fi terimi en az 2008'e (telefonların böyle göründüğü zamanlara) dayanır ve göründüğü gibi olmayan bağlantıyı ifade eder. Tarayıcınız, herhangi bir nedenle bağlantısı olmasa bile bağlantısı varmış gibi davranır.
Bağlantının yanlış yorumlanması, tarayıcı (veya JavaScript) vazgeçip mantıklı bir yedek seçmek yerine kaynakları almaya çalışmaya devam ettiği için kötü bir deneyime neden olabilir. Yalan-fi aslında çevrimdışı olmaktan daha kötü olabilir. En azından bir cihaz kesinlikle çevrimdışıysa JavaScript'iniz uygun kaçınma eylemini gerçekleştirebilir.
Daha fazla kullanıcı mobil cihazlara geçip sabit geniş banttan uzaklaştıkça, Lie-Fi'ın daha büyük bir sorun haline gelmesi muhtemeldir. Yakın tarihli ABD nüfus sayımı verileri, sabit geniş banttan uzaklaşıldığını gösteriyor. Aşağıdaki grafikte, 2015 yılında evde mobil internet kullanımı 2013 yılıyla karşılaştırılmaktadır:

Kesintili bağlantıyı yönetmek için zaman aşımlarını kullanma
Geçmişte, kesintili bağlantıyı test etmek için XHR kullanan hileli yöntemler kullanılıyordu ancak hizmet çalışanı, ağ zaman aşımı sürelerini ayarlamak için daha güvenilir yöntemler sunuyor. Bu, yalnızca birkaç satır kodla Workbox kullanılarak yapılabilir:
workboxSW.router.registerRoute(
'/path/to/image',
workboxSW.strategies.networkFirst({networkTimeoutSeconds: 3}),
);
Workbox hakkında daha fazla bilgiyi Jeff Posnick'in Chrome Dev Summit konuşması olan Workbox: Flexible PWA Libraries'de bulabilirsiniz.
Fetch API için zaman aşımı işlevi de geliştiriliyor. Streams API ise içerik yayınlamayı optimize ederek ve monolitik istekleri önleyerek yardımcı olacaktır. Jake Archibald, Supercharging page load (Sayfa yüklemeyi süper şarj etme) adlı makalesinde, lie-fi ile mücadele hakkında daha fazla bilgi veriyor.