مهم است که بدانید استفاده از برنامه یا سایت شما در شرایطی که اتصال ضعیف یا غیرقابلاعتماد است، چگونه احساس میشود و بر این اساس آن را بسازید. طیفی از ابزارها میتواند به شما کمک کند.
آزمایش با پهنای باند کم و تأخیر زیاد
نسبت فزایندهای از افراد وب را در دستگاههای همراه تجربه میکنند. حتی در خانه، بسیاری از افراد پهنباند ثابت را بهنفع تلفن همراه رها میکنند.
در این زمینه، مهم است که بدانید استفاده از برنامه یا سایت شما در شرایطی که اتصال ضعیف یا غیرقابلاعتماد است، چگونه احساس میشود. طیفی از ابزارهای نرمافزاری میتوانند به شما کمک کنند پهنای باند کم و تأخیر زیاد را شبیهسازی و تقلید کنید.
شبیهسازی محدود کردن شبکه
هنگام ساختن یا بهروزرسانی سایت، باید از عملکرد مناسب در شرایط مختلف اتصال مطمئن شوید. چندین ابزار میتواند کمک کند.
ابزارهای مرورگر
Chrome DevTools به شما امکان میدهد سایتتان را با سرعتهای بارگذاری/ بارگیری مختلف و زمانهای رفتوبرگشت، بااستفاده از پیشتنظیمها یا تنظیمات سفارشی از پانل «شبکه» آزمایش کنید. برای یادگیری اصول اولیه، به شروع به کار با «تحلیل عملکرد شبکه» مراجعه کنید.

ابزار سیستم
Network Link Conditioner پانل اولویتی است که در Mac دردسترس است، اگر Hardware IO Tools را برای Xcode نصب کنید:



شبیهسازی دستگاه
شبیهساز Android به شما امکان میدهد شرایط مختلف شبکه را هنگام اجرای برنامهها (ازجمله مرورگرهای وب و برنامههای وب ترکیبی) در Android شبیهسازی کنید:


برای iPhone، میتوان از Network Link Conditioner برای شبیهسازی شرایط شبکه ضعیف استفاده کرد (به بالا مراجعه کنید).
آزمایش از مکانها و شبکههای مختلف
عملکرد اتصالپذیری به مکان سرور و همچنین نوع شبکه بستگی دارد.
WebPagetest سرویسی آنلاین است که امکان اجرای مجموعهای از آزمایشهای عملکرد را برای سایت شما بااستفاده از انواع شبکهها و مکانهای میزبان فراهم میکند. برای مثال، میتوانید سایتتان را از سروری در هند در شبکه 2G، یا ازطریق کابل از شهری در ایالات متحده امتحان کنید.

مکانی را انتخاب کنید و از تنظیمات پیشرفته، نوع اتصال را انتخاب کنید. حتی میتوانید آزمایش را بااستفاده از دستنوشتهها (برای مثال، برای ورود به سیستم سایت) یا بااستفاده از RESTful API آنها خودکار کنید. این کار به شما کمک میکند آزمایش اتصالپذیری را در فرایندهای ساخت یا ثبت عملکرد بگنجانید.
Fiddler از پراکسی سراسری ازطریق GeoEdge پشتیبانی میکند و از قوانین سفارشی آن میتوان برای شبیهسازی سرعت مودم استفاده کرد:

آزمایش در شبکه ضعیف
پروکسیهای نرمافزاری و سختافزاری به شما امکان میدهند شرایط مشکلساز شبکه تلفن همراه را شبیهسازی کنید، مانند محدود کردن پهنای باند، تأخیر بسته، و از دست رفتن تصادفی بسته. پراکسی همرسانیشده یا شبکه مختلشده میتواند به تیمی از توسعهدهندگان امکان دهد تا آزمایش شبکه واقعی را در گردش کارشان بگنجانند.
Augmented Traffic Control (ATC) فیسبوک مجموعهای از برنامههای دارای پروانه BSD است که میتوان از آن برای شکل دادن به ترافیک و شبیهسازی شرایط شبکه مختلشده استفاده کرد:

فیسبوک حتی سهشنبههای 2G را راهاندازی کرد تا به درک نحوه استفاده افراد از محصولشان در شبکه 2G کمک کند. سهشنبهها، کارمندان پیام بالاپر دریافت میکنند که به آنها گزینه شبیهسازی اتصال 2G را میدهد.
از پراکسی HTTP/HTTPS Charles میتوان برای تنظیم پهنای باند و تأخیر استفاده کرد. Charles نرمافزاری تجاری است، اما دوره آزمایشی رایگان دارد.

اطلاعات بیشتر درباره Charles در codewithchris.com دردسترس است.
مدیریت اتصال غیرقابلاعتماد و «lie-fi»
Lie-fi چیست؟
اصطلاح lie-fi به حداقل سال ۲۰۰۸ برمیگردد (زمانی که تلفنها شبیه این بودند)، و به اتصالی اشاره دارد که آنطور که بهنظر میرسد نیست. مرورگر شما طوری رفتار میکند که گویی اتصال دارد، درحالیکه به هر دلیلی اتصال ندارد.
تفسیر اشتباه اتصال میتواند به تجربه بدی منجر شود زیرا مرورگر (یا جاوا اسکریپت) بهجای تسلیم شدن و انتخاب یک جایگزین معقول، همچنان تلاش میکند منابع را بازیابی کند. Lie-fi درواقع میتواند بدتر از آفلاین باشد؛ حداقل اگر دستگاهی قطعاً آفلاین باشد، JavaScript شما میتواند اقدام مناسبی برای فرار انجام دهد.
با روی آوردن افراد بیشتر به تلفن همراه و دور شدن از پهنباند ثابت، احتمالاً Lie-fi به مشکل بزرگتری تبدیل خواهد شد. دادههای سرشماری اخیر ایالات متحده نشاندهنده فاصله گرفتن از پهنباند ثابت است. نمودار زیر استفاده از اینترنت تلفن همراه در خانه را در سال ۲۰۱۵ در مقایسه با سال ۲۰۱۳ نشان میدهد:

استفاده از زمانهای استراحت برای مدیریت اتصال متناوب
در گذشته، روشهای هک بااستفاده از XHR برای آزمایش اتصال متناوب استفاده میشد، اما عامل خدماتی روشهای قابلاعتمادتری را برای تنظیم زمانبندی شبکه فعال میکند. این کار را میتوان بااستفاده از Workbox و فقط با چند خط کد انجام داد:
workboxSW.router.registerRoute(
'/path/to/image',
workboxSW.strategies.networkFirst({networkTimeoutSeconds: 3}),
);
میتوانید درباره Workbox در سخنرانی جف پوسنیک در اجلاس توسعهدهندگان Chrome، Workbox: Flexible PWA Libraries بیشتر بدانید.
عملکرد اتمام مهلت نیز برای Fetch API درحال توسعه است، و Streams API باید با بهینهسازی توزیع محتوا و اجتناب از درخواستهای یکپارچه کمک کند. جیک آرچیبالد جزئیات بیشتری درباره مقابله با lie-fi در Supercharging page load ارائه میدهد.