التمرير السلس في Chrome 49

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

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

  • طابع ساحر في الوادي ويظهر هذا بطريقتين: أولاً، قد يتمتع أحد المواقع بسلوك تمرير سلس، بينما قد لا يكون لموقع آخر، لذلك يمكن أن يشعر المستخدم بالارتباك بسبب التناقض. ثانيًا، لن تتطابق بالضرورة فيزياء المكتبة مع فيزياء المنصة. لذلك في حين أن الحركة قد تكون سلسة، فقد تبدو خاطئة أو غامضة.
  • تزايد معدّل احتمال تزايد الطلب على سلاسل التعليمات الرئيسية والبيانات غير المرغوب فيها. كما هو الحال مع أي محتوى JavaScript تتم إضافته إلى الصفحة، سيكون هناك زيادة في الحِمل على وحدة المعالجة المركزية (CPU). هذه ليست بالضرورة كارثة، ويعتمد ذلك على ما تفعله الصفحة أيضًا، ولكن إذا كان هناك بعض الأعمال التي تستغرق وقتًا طويلاً في سلسلة التعليمات الرئيسية، وتم ربط التمرير بسلسلة التعليمات الرئيسية، فقد تكون النتيجة الصافية هي عمليات التمرير والتداخل.
  • توفير المزيد من الصيانة للمطوّرين وتوفير رموز برمجية إضافية يمكن للمستخدمين تنزيلها إنّ امتلاك مكتبة للقيام بالتمرير السلس سيكون أمرًا يجب تحديثه وصيانته، وسيزيد من حجم الصفحة الإجمالي للموقع.

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

في الإصدار 49 من Chrome، سيتمثل سلوك التمرير التلقائي في تغيير أنظمة التشغيل Windows وLinux وChromeOS. سيتم إيقاف العمل بسلوك التمرير القديم المتدرج، وسيكون التمرير سلسًا بشكل افتراضي! لا يلزم إجراء أي تغييرات على التعليمات البرمجية الخاصة بك، باستثناء ربما إزالة أي مكتبات تمرير سلس إذا كنت قد استخدمتها.

المزيد من التطبيقات والألعاب المميزة

هناك أيضًا أشياء رائعة أخرى ذات صلة بالتمرير في الأعمال الفنية جديرة بالذكر. يريد العديد منّا استخدام تأثيرات مزدوجة متحركة، مثل التباين والتمرير السلس وصولاً إلى جزء من المستند (مثل example.com/#somesection). كما ذكرت سابقًا، غالبًا ما تكون الأساليب المستخدمة اليوم ضارة لكل من المطورين والمستخدمين. هناك معياران للنظام الأساسي يتم العمل عليهما ويمكن أن يساعدا: Compositor Worklets وميزة CSS scroll-behavior.

هوديني

تعد Compositor Worklets جزءًا من Houdini، ولم تتم إضافة مواصفاتها بالكامل وتنفيذها بعد. مع ذلك، عندما تظهر التصحيحات، ستتيح لك كتابة JavaScript يتم تشغيلها كجزء من مسار المكوّن، ما يعني بشكل عام أنّ التأثيرات المقترنة بالتمرير مثل التباين في العرض ستبقى متزامنة تمامًا مع موضع التمرير الحالي. بناءً على طريقة التعامل مع التمرير في الوقت الحالي، حيث يتم إرسال أحداث التمرير بشكل دوري إلى سلسلة التعليمات الرئيسية فقط (ويمكن حظرها من خلال أعمال سلسلة محادثات رئيسية أخرى)، سيمثّل ذلك قفزة كبيرة للأمام. إذا كنت مهتمًا بلعبة Compositor Worklets أو أيّ من الميزات الجديدة الشيّقة الأخرى التي يوفّرها Houdini، يمكنك الاطّلاع على مقدّمة عن مشاركة Houdini مع Surma، ومواصفات Houdini، ومشاركة ملاحظاتك وآرائك في القائمة البريدية Houdini.

سلوك الانتقال للأسفل

في ما يتعلّق بالتمرير المستند إلى الأجزاء، يمكن استخدام سمة CSS scroll-behavior. إذا كنت تريد تجربتها، يُسعدنا معرفة أنه تم شحنها من قبل عبر Firefox، ويمكنك تفعيلها في Chrome Canary باستخدام علامة "تفعيل ميزات Web Platform التجريبية". في حال ضبط العنصر <body> على scroll-behavior: smooth مثلاً، سيتم تحريك جميع التمريرات التي تظهر إما عند تغيير الأجزاء أو عن طريق window.scrollTo بسلاسة. وهذا أفضل بكثير من الاضطرار إلى استخدام التعليمات البرمجية والاحتفاظ بها من مكتبة تحاول تنفيذ الشيء نفسه. من خلال عنصر أساسي مثل التمرير، من المهم تجنُّب كسر توقعات المستخدم. وفي حين أنّ هذه الميزات في تغيُّر مستمر، لا يزال من المفيد اعتماد نهج التحسين التدريجي وإزالة أي مكتبات تحاول تعويض هذه السلوكيات.

الانتقال للأمام والخلف

اعتبارًا من الإصدار 49 من Chrome، يصبح التنقّل أكثر سلاسة. ليس هذا كل شيء، فمن خلال خصائص Houdini وCSS، مثل smooth-scroll، هناك المزيد من التحسينات المحتمَلة. جرِّب Chrome 49 وأخبِرنا برأيك، والأهم من ذلك كله، دع المتصفِّح يتنقّل في الصفحة حيثما أمكن.