التعريف بمنصة Chrome Dev Insider

Ben Galbraith
Ben Galbraith

يُخبرنا المطوّرون غالبًا أنّه من الصعب مواكبة التغييرات على الويب وفهم سبب حدوثها. سنبدأ اليوم سلسلة جديدة بعنوان Chrome Dev Insider سنشارك فيها (1) الميزات الرائعة والأخبار المهمة، و(2) إحصاءات عن كيفية اتخاذنا لقرار بشأن موضوع رئيسي (مثل تغيير FLOC) أو نهجنا في العمل مع المنظومة المتكاملة (مثل Interop 2022)، و (3) أي معلومات مهمة جدًا يجب معرفتها (مثل التغييرات في سلاسل وكلاء المستخدمين).

سنشارك ما نعمل عليه في سياق أولوياتنا الأربعة لعام 2022:

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

أخبار حول Interop 2022

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

في العام الماضي، أعلنت Microsoft وChrome والجهات المعنيّة بالمنظومة المتكاملة عن Compat 2021 الذي أدّى إلى تحقيق جميع محرّكات المتصفّحات الشائعة (Chromium وGecko وWebkit) نتيجة تزيد عن% 90 في المجالات الخمسة الرئيسية التي تركّز عليها لهذا العام. من بين الأمور الأخرى، أدّى Compat 2021 إلى إنشاء أساس متين لميزات فعّالة، مثل شبكة CSS (نسبة الاستخدام 12% وتزداد بشكل مطرد) وCSS Flexbox (نسبة الاستخدام 77%).

وفي الشهر الماضي، تعاونت كل من Apple وBocoup وGoogle وIgalia وMicrosoft وMozilla كداعمين لحلّ أهم مشاكل التوافق مع المتصفّحات التي حدّدها مطوّرو الويب، والاتفاق على مقياس أداء شائع. والنتيجة هي Interop 2022، وهو مشروع يهدف إلى تحقيق المزيد من التجانس على المنصة. تركّز هذه المقاييس على 15 مجالًا من المجالات ذات الأولوية التي حدّدها المطوّرون كعوامل رئيسية لتحسين إنتاجيتهم.

معلومات من الداخل: العمل مع جهات مماثلة في مجال المتصفّحات

مع اقتراب موعد Interop 2022، جلست مع روبرت نيمان وفيليب جاغنستيد اللذَين شاركا في هذه المحادثات لمعرفة القصة من الداخل. في ما يلي نسخة المحرّر من كيفية إنشاء الفيديو.

ما هو مصدر هذه المبادرة؟

روبرت: بدأ كل شيء في عام 2019، عندما أجرينا استطلاع MDN DNA لعام 2019. تبيّن بوضوح أنّ مشاكل التوافق هي المشكلة الرئيسية التي تواجه المطوّرين الذين ينشئون تطبيقات للويب، ولقد تابعنا ذلك بمزيد من التفاصيل في تقرير التوافق مع المتصفّحات لعام 2020 من MDN. وقد زوّدنا هذا بالبيانات والمعلومات الكافية التي يمكن اتخاذ إجراء بشأنها لبدء جهود Compat 2021، ما أدّى بدوره إلى مواصلة هذا العمل وتوسيع نطاقه من خلال Interop 2022.

فيليب: أودّ أيضًا الإشارة إلى web-platform-tests وState of CSS 2021. لقد تعاونّا بشكل وثيق مع مورّدي متصفّحات آخرين في مجال الاختبار باستخدام WPT منذ سنوات، وأردنا الاستفادة من هذه التجربة. كانت اختبارات هذه الميزات مكتوبة في معظمها، لذلك ما كان علينا سوى مراجعة الاختبارات وإضافة بعض التغطية غير المتوفّرة. لقد استثمرت Google الكثير في wpt.fyi، ولكن نشكر أيضًا Mozilla على تحقيق WPT للنجاح الذي حقّقته اليوم. ساهمت Mozilla بالتأكيد أيضًا في استطلاعات الرأي حول استراتيجية MDN. بالإضافة إلى ذلك، هناك أيضًا تقرير "حالة خدمة مقارنة الأسعار لعام 2021". لكي نتمكّن من بذل جهد مثل Interop 2022، نحتاج إلى مدخلات جديدة حول احتياجات مطوّري الويب، لذلك تعاونّا مع Sacha، مشرف الاستطلاع، لتضمين بعض الأسئلة الجديدة حول مشاكل التوافق مع المتصفّحات. لقد ساعدنا ذلك حقًا في عملية التخطيط لـ Interop 2022.

هل لديك أيّ ملاحظات أو استنتاجات من Compat 2021؟

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

ما هي رؤيتنا هنا؟

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

كيف يمكننا العمل معًا للمضي قدمًا عندما تجتمع متصفّحات لها أهداف مختلفة (في بعض الأحيان)؟

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

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

بالعودة إلى Interop 2022، هل نرى ميزات غير مرتبطة بالتصميم أو التنسيق في مرحلة ما؟

فيليب: بالتأكيد. لم تقتصر Interop 2022 على ميزات التصميم والتنسيق، ولكنّها انتهت بالتركيز بشكل كبير على CSS. ويعود ذلك جزئيًا إلى أنّ تقرير "حالة CSS لعام 2021" كان حديثًا، ولكن أيضًا لأنّ مطوّري الويب أخبرونا أنّ هذا هو المكان الذي يواجهون فيه أكبر مشكلة في الاختلافات بين المتصفّحات. تتجاوز مجالات التركيز المتعددة، مثل عناصر النماذج والمربّعات الحوارية، CSS، ولدينا أيضًا بعض جهود التحقيق حول تعديل واجهات برمجة التطبيقات وأحداث المؤشر والماوس. نأمل أن نحصل في Interop 2023 على المزيد من البيانات الجديدة حول احتياجات المطوّرين على الويب، وأن نضيف المزيد من هذه الميزات في إطار هذا الجهد.

أهم التغييرات القادمة

ومن أهداف هذه السلسلة إعلام المطوّرين بالتغييرات الرئيسية القادمة، وهي التغييرات المهمة لتحسين تجربة المستخدم وقدرات المنصة.

في ما يلي المخططات الزمنية التي نتوقع حدوث هذه التغييرات خلالها. ومع ذلك، من الممكن أن تتغيّر إصدارات الميزات.

تقليل معلومات وكيل المستخدم

لا ينقل رأس User-Agent وواجهات JavaScript المرتبطة به معلومات مفيدة عن المتصفّح والجهاز فحسب، بل يحمل أيضًا معلومات قديمة عن النسب ومعلومات غير دقيقة. إنّ المشكلة الأكبر من توفّر عدد لا يُحصى تقريبًا من أخطاء تحليل سلاسل Universal Analytics هي أنّه يتم إرسالها بشكل سلبي إلى الخوادم لجميع طلبات التنقّل والموارد الفرعية. ويمثّل ذلك 10 بت تقريبًا من التشويش الذي يمكن للخوادم استخدامه لإنشاء معرّفات تتبُّع ثابتة أثناء تنقّل المستخدِمين على الويب.

تهدف خطّتنا الحالية إلى تقليل سلسلة User-Agent الحالية من خلال مواصلة إرسال الإصدار الرئيسي للمتصفّح واسم المنصة ومدى توافق الجهاز الجوّال ذات التشويش المنخفض، وتجميد معلومات التشويش العالي. بالنسبة إلى حالات الاستخدام التي تتطلّب معلومات إضافية غير تلك الواردة في العنوان، بدأنا بطرح واجهة برمجة التطبيقات User-Agent Client Hints منذ الإصدار 89 من Chrome.

أجرينا تجربة Origin لمدة 6 أشهر للتجربة والحصول على الملاحظات، وسرّنا عدم تلقّي أي ملاحظات متعلّقة بتعطّل الميزة على الرغم من مشاركة أكثر من 200 مشارك.

واجهة برمجة تطبيقات الوصول إلى الخطوط المحلية

يطلق Chrome واجهة برمجة التطبيقات Local Font Access API. على الرغم من أنّه كان بإمكان المواقع الإلكترونية استخدام الخطوط المحلية منذ فترة طويلة، فإنّ واجهة برمجة التطبيقات هذه تُدرِج قائمة بالخطوط المحلية وتمنح إمكانية الوصول إلى بيانات الخطوط نفسها. وتمنح هذه الوظيفة المستخدمين إمكانية استخدام جميع خطوطهم مع التصميم المستنِد إلى الويب والتطبيقات الأخرى.

لطالما كانت الخطوط المحلية معروفة باسم عامل تحديد الهوية. على الرغم من أنّ واجهة برمجة التطبيقات الجديدة هذه لا تزيد من إمكانية استخدام الخطوط لإنشاء بصمة رقمية، يطلب Chrome من المستخدم منح إذن "local-fonts" جديد لموقع إلكتروني قبل أن يتمكّن من استخدام واجهة برمجة التطبيقات الجديدة Local Font Access API.

في المستقبل، نخطّط لطلب منح الإذن نفسه "الخطوط المحلية" قبل استخدام أي واجهة برمجة تطبيقات أخرى تتيح الوصول إلى الخطوط المحلية.

تفعيل BFCache مع Cache-control: no-store

لقد حدّدنا فرصة كبيرة لتحسين عدد المرات التي يمكن أن توفّر فيها ميزة التخزين المؤقت للصفحات إمكانية الانتقال الفوري للأمام أو للخلف. يتطلّب ذلك تغييرًا في طريقة تصرف ذاكرة التخزين المؤقت للصفحات (BFCache) في الصفحات التي يتم عرضها باستخدام عنوان HTTP‏ Cache-control: no-store. لدينا اقتراح علني مصمّم لمنع حدوث مفاجآت كبيرة من خلال مراقبة إشارات مختلفة (مثل إزالة الصفحات من ذاكرة التخزين المؤقت للصفحات (BFCache) عند تغيير ملف تعريف ارتباط HTTP فقط) والاستثناءات (مثل سياسة المجموعة لعملاء Enterprise/Edu) للسياقات الفريدة. هذه فرصة معقدة ولكنها مثيرة، ونريد الحصول على مزيد من التدقيق والملاحظات.

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

من خلال هذه السلسلة، آمل أن أتمكّن من منح منتدى المطوّرين شعورًا بالتركيز والتواصل من خلال تقريبه من فريقي وعمله. يُرجى متابعتنا لمعرفة آخر الأخبار.

إلى ذلك الحين، طاب يومك.

ما رأيك في الإصدار الأول من The Chrome Dev Insider؟ مشاركة ملاحظاتك