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