من المهمّ معرفة شعور المستخدم عند استخدام تطبيقك أو موقعك الإلكتروني عندما يكون اتصال الإنترنت ضعيفًا أو غير موثوق به، وبناءً عليه، عليك تحسين تجربة المستخدم. هناك مجموعة من الأدوات يمكن أن تساعدك.
اختبار معدل نقل بيانات منخفض ووقت استجابة مرتفع
هناك نسبة متزايدة من الأشخاص الذين يستخدمون الويب على الأجهزة الجوّالة. حتى في المنزل، يتخلّى الكثير من المستخدمين عن شبكة النطاق العريض الثابتة ويستخدمون شبكة الجوّال.
في هذا السياق، من المهمّ معرفة شعور استخدام تطبيقك أو موقعك الإلكتروني عندما تكون سرعة الاتصال بطيئة أو غير موثوقة. يمكن أن تساعدك مجموعة من أدوات البرامج في محاكاة وتقليد معدل نقل البيانات المنخفض ووقت الاستجابة المرتفع.
محاكاة ضبط الحد الأقصى المسموح لعرض نطاق الشبكة
عند إنشاء موقع إلكتروني أو تحديثه، يجب عليك ضمان الأداء المناسب في مجموعة متنوعة من حالات الاتصال. يمكن أن تساعدك عدة أدوات.
أدوات المتصفّح
تتيح لك أدوات مطوري البرامج في Chrome اختبار موقعك الإلكتروني مع مجموعة متنوعة من سرعات التحميل والتنزيل ومُدد الذهاب والعودة، وذلك باستخدام إعدادات مسبقة أو إعدادات مخصّصة من لوحة "الشبكة". اطّلِع على البدء في استخدام ميزة "تحليل أداء الشبكة" لتعرّف على الأساسيات.
أدوات النظام
Network Link Conditioner هي لوحة تفضيلات متوفرة على Mac إذا قمت بتثبيت Device IO Tools لـ Xcode:
محاكاة الجهاز
يتيح لك محاكي Android محاكاة ظروف الشبكة المختلفة أثناء تشغيل التطبيقات (بما في ذلك متصفّحات الويب وتطبيقات الويب المختلطة) على Android:
بالنسبة إلى iPhone، يمكن استخدام Network Link Conditioner لمحاكاة ظروف الشبكة الضعيفة (انظر أعلاه).
إجراء الاختبار من مواقع جغرافية وشبكات مختلفة
يعتمد أداء الاتصال على الموقع الجغرافي للخادم ونوع الشبكة.
WebPagetest هي خدمة على الإنترنت تتيح إجراء مجموعة من اختبارات الأداء لموقعك باستخدام مجموعة متنوعة من الشبكات ومواقع المضيف. على سبيل المثال، يمكنك تجربة موقعك الإلكتروني من خادم في الهند على شبكة 2G أو من خلال كابل من مدينة في الولايات المتحدة.
اختَر موقعًا جغرافيًا، ثم اختَر نوع اتصال من الإعدادات المتقدّمة. يمكنك أيضًا برمجة الاختبار باستخدام النصوص البرمجية (على سبيل المثال، لتسجيل الدخول إلى موقع إلكتروني) أو باستخدام واجهات برمجة تطبيقات RESTful الخاصة بها. يساعدك ذلك في تضمين اختبار الاتصال في عمليات الإنشاء أو تسجيل الأداء.
يتيح Fiddler استخدام الخادم الوكيل العالمي من خلال GeoEdge، ويمكن استخدام قواعده المخصّصة لمحاكاة سرعات المودم:
إجراء الاختبار على شبكة بها مشاكل
تتيح لك الخوادم الوكيلة للبرامج والأجهزة محاكاة شروط شبكة الجوّال التي بها مشاكل، مثل تقييد معدل نقل البيانات وتأخير الحزم والفقدان العشوائي للحزم. ويمكن للخادم الوكيل المشترك أو الشبكة ذات الاتصال الضعيف أن يتيح لفريق من المطورين دمج اختبار الشبكة الفعلي في سير عملهم.
التحكّم المتقدّم في عدد الزيارات (ATC) من Facebook هو مجموعة من التطبيقات المرخّصة بموجب ترخيص BSD يمكن استخدامها لتشكيل عدد الزيارات ومحاولة محاكاة حالات الشبكة التي تتضمّن مشاكل:
أطلقت Facebook أيضًا يوم الثلاثاء لشبكة الجيل الثاني للمساعدة في فهم كيفية استخدام المستخدمين الذين يستخدمون شبكة الجيل الثاني لمنتجاتها. في أيام الثلاثاء، يظهر الموظفون في نافذة منبثقة تمنحهم خيار محاكاة اتصال شبكة الجيل الثاني.
يمكن استخدام Charles الخادم الوكيل HTTP/HTTPS لضبط معدل نقل البيانات ووقت الاستجابة. Charles هو برنامج تجاري، ولكن تتوفّر فترة تجريبية مجانية.
يمكنك الاطّلاع على مزيد من المعلومات عن تشارلز على codewithchris.com.
التعامل مع الاتصال غير الموثوق به و"شبكة Wi-Fi الكاذبة"
ما هو نظام lie-fi؟
يعود مصطلح lie-fi إلى عام 2008 على الأقل (عندما كانت الهواتف تبدو بهذه)، ويشير إلى الاتصال الذي ليس كما يبدو. يتصرف المتصفّح كما لو كان متصلاً بالإنترنت، ولكنه ليس كذلك لعدة أسباب.
قد ينتج عن الاتصال الذي تم تفسيره بشكل خاطئ تجربة سيئة لأن المتصفّح (أو JavaScript) يواصل محاولة استرداد الموارد بدلاً من التوقف عن المحاولة واختيار إجراء احتياطي معقول. يمكن أن يكون الاتصال الوهمي بالإنترنت أسوأ من عدم الاتصال بالإنترنت. على الأقل، إذا كان الجهاز غير متصل بالإنترنت، يمكن لبرنامج JavaScript اتّخاذ الإجراء المناسب للالتفاف على ذلك.
من المرجّح أن تصبح شبكة Lie-fi مشكلة أكبر مع انتقال المزيد من المستخدمين إلى الأجهزة الجوّالة والابتعاد عن استخدام شبكة النطاق الترددي الواسع الثابت. تُظهر بيانات التعداد السكاني في الولايات المتحدة الابتعاد عن استخدام النطاق العريض الثابت. يعرض الرسم البياني التالي استخدام الإنترنت الجوّال في المنزل في عام 2015 مقارنةً بعام 2013:
استخدام المُهَل للتعامل مع الاتصال المتقطّع
في الماضي، كان يتم استخدام الطرق الصعبة لاستخدام XHR لاختبار الاتصال المتقطّع، غير أنّ مشغّل الخدمات يتيح طرقًا أكثر موثوقية لضبط مُهَل الشبكة. يمكن تحقيق ذلك باستخدام Workbox مع بضعة أسطر من الرموز فقط:
workboxSW.router.registerRoute(
'/path/to/image',
workboxSW.strategies.networkFirst({networkTimeoutSeconds: 3}),
);
يمكنك الاطّلاع على مزيد من المعلومات عن Workbox في محاضرة Jeff Posnick ضمن Chrome Dev Summit بعنوان Workbox: مكتبات مرنة لتطبيقات الويب التقدّمية.
يتم أيضًا تطوير وظيفة وقت الاستراحة لواجهة Fetch API، ومن المفترض أن تساعد واجهة Streams API في تحسين عرض المحتوى وتجنُّب الطلبات المُجمّعة. يقدّم "جاك أرشيبالد" مزيدًا من التفاصيل حول معالجة بيانات غير صحيحة في تحسين سرعة تحميل الصفحة.