ما هي "نوايا Blink"؟

عندما يريد المهندسون إجراء تغيير على محرك عرض Blink، ينشرون مشاركاتهم على قائمة blink-dev البريدية للحصول على موافقة لمواصلة العمل. تُعرف المشاركات في القوائم البريدية هذه باسم Blink Intents.

تستخدم متصفّحات الويب المستندة إلى Chromium محرك عرض Blink لتحويل الرموز البرمجية والمراجع إلى صفحات ويب يمكنك عرضها والتفاعل معها.

قائمة blink-dev البريدية:

تعرَّف على آلية عمل "أهداف Blink" وسبب أهميتها وكيفية دمج الميزات الجديدة في Blink.

Chromium هو مشروع متصفّح مفتوح المصدر يتمّ عليه تطوير Chrome وبعض المتصفّحات والأُطر الأخرى. ‫Blink هو محرّك العرض الذي يستخدمه Chromium.

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

عملية مفتوحة ومشترَكة

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

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

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

من الفكرة إلى الاقتراح

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

مثال: FedCM

‫Federated Credential Management (FedCM) هي واجهة برمجة تطبيقات تهدف إلى توفير mekanismes جديدة وأفضل للمنصات التي تدير اشتراك المستخدمين وتسجيل دخولهم، والمعروفة باسم هوية موحّدة، على سبيل المثال، عند اختيار "تسجيل الدخول باستخدام حساب Google" أو "تسجيل الدخول باستخدام GitHub".

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

الشرح حول "إدارة المحتوى في المقاييس" على GitHub.

بعد أن تتبنّى هيئة معيارية اقتراحًا، مثل W3C، يمكن للجهات المعنية الانضمام إلى المناقشات ومشاهدة العروض في مجموعات معايير الويب، مثل مجموعات العمل في W3C.

عند بلوغ كلّ إنجاز، عندما يعمل المهندسون على ميزة جديدة أو تغيير في محرك عرض Blink، ينشرون مشاركة في مجموعة مناقشة blink-dev، ويوضّحون أنّهم يعتزمون الانتقال إلى المرحلة التالية من أجل تنفيذ ميزة. وتُعرف هذه المشاركات باسم "النوايا". يمكن لأي مستخدم الاشتراك في مجموعة blink-dev لتلقّي إشعارات عند تسجيل تقدّم في الميزات الجديدة في Blink، أو الاشتراك في ميزة فردية للحصول على التحديثات.

الانتقال من مرحلة التصميم إلى مرحلة إنشاء النموذج الأولي: نقطة التفتيش الأولى

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

ومع ذلك، لا يمكن ضبط بعض العلامات من صفحة chrome://flags. للحصول على مزيد من التحكّم المفصّل، يمكنك تشغيل Chrome من وحدة طرفية باستخدام علامات سطر الأوامر. يُرجى العِلم أنّ بعض الميزات الجديدة لا تتوفّر إلى أن يتم طرحها للاختبار في Chrome Canary، إلا أنّ هذا يحدث نادرًا جدًا. لا تتضمّن بعض الميزات علامة خاصة بها، ولكن يتم توفيرها إذا تم تفعيل العلامة experimental-web-platform-features. وينطبق ذلك بشكل عام على الميزات "الأصغر حجمًا" التي لا تستغرق تنفيذها سوى ثلاثة إلى ستة أشهر كحد أقصى.

جمع الملاحظات حول النماذج الأولية

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

أنشئ مشكلة في أداة تتبُّع مشاكل Chromium.

النيّة من التجربة: الاختبار في العالم الحقيقي

إنّ نشر مشاركة "نية إجراء تجربة" على blink-dev هي خطوة اختيارية تالية، إذا أراد مهندسو Chrome طلب إجراء مرحلة تقييم وتجربة.

Intent to Experiment for FedCM.

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

قائمة بمراحل تجربة وتقييم Chrome المتاحة

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

مالكي واجهة برمجة التطبيقات Blink هم مجموعة صغيرة من المساهمين في Chromium، وهم يمتلكون معرفة عميقة بالنظام الأساسي للويب وواجهات برمجة التطبيقات الخاصة به، وقد وافق مجتمع Blink على أنّهم في وضع جيد، مع الالتزام بمهمة Blink ومقاييسها. بالإضافة إلى منح الموافقة (أو عدم الموافقة) على الميزات للمضي قدمًا نحو التنفيذ، يشرف مالكو واجهات برمجة التطبيقات على عملية Blink Intent نفسها.

يجب أن يحصل بيان "الرغبة في إجراء تجربة" على موافقة واحدة على الأقل من مالكي واجهات برمجة التطبيقات.

الموافقة على مقال FedCM Intent to Experiment.

قيمة عمليات التجربة والتقييم

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

نية الشحن: المعلم الرئيسي النهائي

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

طرح ميزات جديدة

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

إدارة دورة حياة الميزات: الإيقاف النهائي والإزالة

هناك نوعان آخران من أهداف Blink:

  • الإيقاف النهائي المقصود
  • نية الإزالة

قد تبدو هذه الشروط قاسية بعض الشيء، ولكنها في الواقع ضرورية لنجاح تطوير Blink.

ينشر المهندسون الإعلان عن إيقاف ميزة نهائيًا عندما يريدون بدء تحذير المطوّرين بأنّه من المقرر إيقاف ميزة نهائيًا. على سبيل المثال، من خلال تقديم الدعم والمعلومات حول الإيقاف النهائي فيconsole Chrome DevTools.

يتم نشر نية الإزالة عندما يريد المهندسون إيقاف الرمز تلقائيًا.

الموافقة على الخطط لإيقاف الميزات نهائيًا على blink.dev.

أهمية الإيقاف النهائي والإزالة

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

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

يمكنك تتبُّع مستوى تقدّم الميزات على حالة Chrome، حيث يمكنك الاشتراك في آخر الأخبار والإبلاغ عن الأخطاء والعثور على موارد أخرى.

خريطة ميزات Chrome على chromestatus.com.

لتتبُّع الميزات الجديدة، يمكنك متابعة مدوّنة Chromium. يمكنك الاطّلاع على كلّ نوايا Blink من خلال الانضمام إلى مجموعة مناقشة blink-dev. وقد يؤدي ذلك إلى تلقّي الكثير من الرسائل الإلكترونية. بدلاً من ذلك، يمكنك الاشتراك في نية واحدة. يمكنك الاطّلاع على جدول بيانات يحتوي على نوايا Blink على الرابط bit.ly/blinkintents. إذا كنت تحب ميزة "نوايا النقر" في Blink، يمكنك أيضًا الاستفادة من خدمات "أداة تتبُّع نوايا النقر" المبرمَجة في Blink.

الخطوات التالية

اطّلِع على ما هي قنوات إصدار Chrome؟.