Penting untuk memahami bagaimana rasanya menggunakan aplikasi atau situs Anda saat konektivitas buruk atau tidak dapat diandalkan, dan membangunnya sesuai dengan itu. Berbagai alat dapat membantu Anda.
Menguji dengan bandwidth rendah dan latensi tinggi
Proporsi orang yang menggunakan web di perangkat seluler semakin meningkat. Bahkan di rumah, banyak orang meninggalkan broadband tetap dan beralih ke seluler.
Dalam konteks ini, penting untuk memahami bagaimana rasanya menggunakan aplikasi atau situs Anda saat konektivitas buruk atau tidak dapat diandalkan. Berbagai alat software dapat membantu Anda mengemulasi dan menyimulasikan bandwidth rendah dan latensi tinggi.
Mengemulasi throttling jaringan
Saat membangun atau memperbarui situs, Anda harus memastikan performa yang memadai dalam berbagai kondisi konektivitas. Beberapa alat dapat membantu.
Alat browser
Chrome DevTools memungkinkan Anda menguji situs dengan berbagai kecepatan upload/download dan waktu round-trip, menggunakan preset atau setelan kustom dari panel Jaringan. Lihat Memulai Analisis Performa Jaringan untuk mempelajari dasar-dasarnya.

Alat sistem
Network Link Conditioner adalah panel preferensi yang tersedia di Mac jika Anda menginstal Hardware IO Tools untuk Xcode:



Emulasi perangkat
Android Emulator memungkinkan Anda menyimulasikan berbagai kondisi jaringan saat menjalankan aplikasi (termasuk browser web dan aplikasi web hybrid) di Android:


Untuk iPhone, Network Link Conditioner dapat digunakan untuk menyimulasikan kondisi jaringan yang terganggu (lihat di atas).
Menguji dari berbagai lokasi dan jaringan
Performa konektivitas bergantung pada lokasi server serta jenis jaringan.
WebPagetest adalah layanan online yang memungkinkan serangkaian pengujian performa dijalankan untuk situs Anda menggunakan berbagai jaringan dan lokasi host. Misalnya, Anda dapat mencoba situs Anda dari server di India pada jaringan 2G, atau melalui kabel dari kota di AS.

Pilih lokasi dan, dari setelan lanjutan, pilih jenis koneksi. Anda bahkan dapat mengotomatiskan pengujian menggunakan skrip (misalnya, untuk login ke situs) atau menggunakan RESTful API. Hal ini membantu Anda menyertakan pengujian konektivitas ke dalam proses build atau logging performa.
Fiddler mendukung proxy Global melalui GeoEdge, dan aturan kustomnya dapat digunakan untuk menyimulasikan kecepatan modem:

Menguji di jaringan yang terganggu
Proxy software dan hardware memungkinkan Anda mengemulasi kondisi jaringan seluler yang bermasalah, seperti throttling bandwidth, penundaan paket, dan paket hilang acak. Proxy bersama atau jaringan yang terganggu dapat memungkinkan tim developer menggabungkan pengujian jaringan dunia nyata dalam alur kerja mereka.
Augmented Traffic Control (ATC) Facebook adalah serangkaian aplikasi berlisensi BSD yang dapat digunakan untuk membentuk traffic dan mengemulasi kondisi jaringan yang terganggu:

Facebook bahkan menerapkan 2G Tuesdays untuk membantu memahami cara orang-orang di jaringan 2G menggunakan produk mereka. Pada hari Selasa, karyawan mendapatkan pop-up yang memberi mereka opsi untuk menyimulasikan koneksi 2G.
Proxy HTTP/HTTPS Charles dapat digunakan untuk menyesuaikan bandwidth dan latensi. Charles adalah software komersial, tetapi tersedia uji coba gratis.

Informasi selengkapnya tentang Charles tersedia di codewithchris.com.
Menangani konektivitas yang tidak dapat diandalkan dan "lie-fi"
Apa yang dimaksud dengan lie-fi?
Istilah lie-fi sudah ada setidaknya sejak tahun 2008 (saat ponsel terlihat seperti ini), dan mengacu pada konektivitas yang tidak seperti yang terlihat. Browser Anda berperilaku seolah-olah memiliki konektivitas, padahal, karena alasan apa pun, browser tersebut tidak memilikinya.
Penafsiran konektivitas yang salah dapat menyebabkan pengalaman yang buruk karena browser (atau JavaScript) terus mencoba mengambil resource, alih-alih menyerah dan memilih penggantian yang masuk akal. Lie-fi sebenarnya bisa lebih buruk daripada offline; setidaknya jika perangkat benar-benar offline, JavaScript Anda dapat mengambil tindakan penghindaran yang sesuai.
Lie-fi kemungkinan akan menjadi masalah yang lebih besar seiring makin banyaknya orang yang beralih ke perangkat seluler dan meninggalkan broadband tetap. Data Sensus AS terbaru menunjukkan peralihan dari broadband tetap. Diagram berikut menunjukkan penggunaan internet seluler di rumah pada tahun 2015 dibandingkan dengan tahun 2013:

Menggunakan waktu tunggu untuk menangani konektivitas yang terputus-putus
Sebelumnya, metode peretasan menggunakan XHR telah digunakan untuk menguji konektivitas yang terputus-putus, tetapi pekerja layanan memungkinkan metode yang lebih andal untuk menetapkan waktu tunggu jaringan. Hal ini dapat dicapai menggunakan Workbox hanya dengan beberapa baris kode:
workboxSW.router.registerRoute(
'/path/to/image',
workboxSW.strategies.networkFirst({networkTimeoutSeconds: 3}),
);
Anda dapat mempelajari Workbox lebih lanjut dalam presentasi Jeff Posnick di Chrome Dev Summit, Workbox: Flexible PWA Libraries.
Fungsi waktu tunggu juga sedang dikembangkan untuk Fetch API, dan Streams API akan membantu dengan mengoptimalkan pengiriman konten dan menghindari permintaan monolitik. Jake Archibald memberikan detail selengkapnya tentang cara mengatasi lie-fi di Mempercepat pemuatan halaman.