من المهم فهم تجربة استخدام تطبيقك أو موقعك الإلكتروني عندما تكون إمكانية الاتصال ضعيفة أو غير موثوق بها، وإنشاء التطبيق أو الموقع الإلكتروني وفقًا لذلك. يمكن أن تساعدك مجموعة من الأدوات.
الاختبار باستخدام معدل نقل بيانات منخفض ووقت استجابة مرتفع
نسبة متزايدة من الأشخاص يتصفّحون الويب على الأجهزة الجوّالة. حتى في المنزل، يتخلى العديد من الأشخاص عن النطاق العريض الثابت لصالح الأجهزة الجوّالة.
في هذا السياق، من المهم فهم تجربة استخدام تطبيقك أو موقعك الإلكتروني عندما تكون إمكانية الاتصال ضعيفة أو غير موثوق بها. يمكن أن تساعدك مجموعة من أدوات البرامج في محاكاة معدل نقل البيانات المنخفض ووقت الاستجابة المرتفع.
محاكاة ضبط الحد الأقصى المسموح لعرض نطاق الشبكة
عند إنشاء موقع إلكتروني أو تحديثه، يجب التأكّد من توفير أداء مناسب في مجموعة متنوعة من حالات الاتصال. يمكن أن تساعدك عدة أدوات في ذلك.
أدوات المتصفّح
تتيح لك أدوات مطوّري البرامج في Chrome اختبار موقعك الإلكتروني باستخدام مجموعة متنوعة من سرعات التحميل/التنزيل وأوقات الذهاب والعودة، وذلك من خلال الإعدادات المسبقة أو الإعدادات المخصّصة من لوحة الشبكة. يُرجى الاطّلاع على بدء استخدام ميزة "تحليل أداء الشبكة" للتعرّف على الأساسيات.

أدوات النظام
"مُعدِّل ربط الشبكة" (Network Link Conditioner) هو لوحة تفضيلات متاحة على أجهزة Mac في حال تثبيت أدوات الإدخال/الإخراج للأجهزة لبرنامج Xcode:



محاكاة الأجهزة
يتيح لك Android Emulator محاكاة حالات الشبكة المختلفة أثناء تشغيل التطبيقات (بما في ذلك متصفّحات الويب وتطبيقات الويب المختلطة) على Android:


بالنسبة إلى هواتف iPhone، يمكن استخدام Network Link Conditioner لمحاكاة ظروف الشبكة الضعيفة (انظر أعلاه).
الاختبار من مواقع جغرافية وشبكات مختلفة
يعتمد أداء إمكانية الاتصال على الموقع الجغرافي للخادم ونوع الشبكة.
WebPagetest هي خدمة على الإنترنت تتيح إجراء مجموعة من اختبارات الأداء لموقعك الإلكتروني باستخدام مجموعة متنوعة من الشبكات والمواقع الجغرافية للمضيف. على سبيل المثال، يمكنك تجربة موقعك الإلكتروني من خادم في الهند على شبكة 2G أو عبر الكابل من مدينة في الولايات المتحدة.

اختَر موقعًا جغرافيًا، ثم اختَر نوع الاتصال من الإعدادات المتقدّمة. ويمكنك أيضًا برمجة الاختبارات باستخدام النصوص البرمجية (على سبيل المثال، لتسجيل الدخول إلى موقع إلكتروني) أو باستخدام واجهات برمجة تطبيقات RESTful. يساعدك ذلك في تضمين اختبار الاتصال في عمليات الإنشاء أو تسجيل الأداء.
يتيح Fiddler استخدام الخوادم الوكيلة العالمية من خلال GeoEdge، ويمكن استخدام قواعده المخصّصة لمحاكاة سرعات المودم:

الاختبار على شبكة ضعيفة
تتيح لك الخوادم الوكيلة للبرامج والأجهزة محاكاة ظروف شبكة الجوّال التي تسبب مشاكل، مثل تقييد معدل نقل البيانات وتأخير الحِزم وفقدان الحِزم العشوائي. يمكن أن يتيح الخادم الوكيل المشترك أو الشبكة الضعيفة لفريق من المطوّرين دمج اختبار الشبكة في العالم الحقيقي في سير العمل.
Augmented Traffic Control (ATC) من Facebook هي مجموعة من التطبيقات المرخَّصة من BSD والتي يمكن استخدامها لتشكيل حركة البيانات ومحاكاة حالات الشبكة الضعيفة:

حتى أن فيسبوك أنشأت 2G Tuesdays للمساعدة في فهم كيفية استخدام الأشخاص على شبكة الجيل الثاني لمنتجهم. في أيام الثلاثاء، تظهر للموظفين نافذة منبثقة تمنحهم خيار محاكاة اتصال 2G.
يمكن استخدام خادم وكيل HTTP/HTTPS من Charles من أجل ضبط معدل نقل البيانات ووقت الاستجابة. Charles هو برنامج تجاري، ولكن تتوفّر فترة تجريبية مجانية.

يتوفّر المزيد من المعلومات عن Charles على codewithchris.com.
التعامل مع الاتصال غير الموثوق به و "الشبكات اللاسلكية الوهمية"
ما هو الاتصال الوهمي بالإنترنت؟
يعود تاريخ مصطلح lie-fi إلى عام 2008 على الأقل (عندما كانت الهواتف تبدو هكذا)، ويشير إلى إمكانية الاتصال التي لا تبدو على حقيقتها. يتصرف متصفحك كما لو كان لديه إمكانية اتصال عندما، لأي سبب من الأسباب، لا يفعل ذلك.
يمكن أن يؤدي سوء تفسير إمكانية الاتصال إلى تجربة سيئة لأن المتصفح (أو JavaScript) يستمر في محاولة استرداد الموارد بدلاً من الاستسلام واختيار إجراء احتياطي معقول. يمكن أن يكون الاتصال الوهمي أسوأ من عدم الاتصال بالإنترنت، على الأقل إذا كان الجهاز غير متصل بالإنترنت بالتأكيد، يمكن لـ JavaScript اتخاذ الإجراء المناسب.
من المرجّح أن تصبح مشكلة Lie-fi أكبر مع انتقال المزيد من الأشخاص إلى الأجهزة الجوّالة بعيدًا عن شبكة النطاق العريض الثابتة. تُظهر بيانات التعداد السكاني الأخيرة في الولايات المتحدة تراجعًا في استخدام النطاق العريض الثابت. يوضّح الرسم البياني التالي استخدام الإنترنت للأجهزة الجوّالة في المنزل في عام 2015 مقارنةً بعام 2013:

استخدام المهلات للتعامل مع الاتصال المتقطّع
في الماضي، تم استخدام طرق غير تقليدية باستخدام XHR لاختبار إمكانية الاتصال المتقطع، ولكن يتيح مشغّل الخدمات استخدام طرق أكثر موثوقية لضبط مهلات الشبكة. ويمكن تحقيق ذلك باستخدام Workbox من خلال بضعة أسطر من الرموز فقط:
workboxSW.router.registerRoute(
'/path/to/image',
workboxSW.strategies.networkFirst({networkTimeoutSeconds: 3}),
);
يمكنك الاطّلاع على مزيد من المعلومات حول Workbox في كلمة "جيف بوسنيك" في مؤتمر Chrome Dev Summit، Workbox: Flexible PWA Libraries.
ويتم أيضًا تطوير وظيفة المهلة لـ Fetch API، ومن المفترض أن تساعد Streams API في تحسين إرسال المحتوى وتجنُّب الطلبات الموحّدة. يقدّم "جيك أرشيبالد" المزيد من التفاصيل حول معالجة مشكلة الاتصال الوهمي في مقالة تحسين تحميل الصفحة.