عندما يريد المهندسون إجراء تغيير على محرك العرض Blink، ينشرون رسالة على القائمة البريدية blink-dev للحصول على الموافقة على المتابعة. تُسمّى مشاركات القائمة البريدية هذه طلبات Blink.
تستخدم متصفّحات الويب المستندة إلى Chromium محرك العرض Blink لتحويل الرموز والموارد إلى صفحات ويب يمكنك عرضها والتفاعل معها.
تعرَّف على طريقة عمل Blink Intents وأهميتها وكيفية إضافة ميزات جديدة إلى Blink.
Chromium وBlink
Chromium هو مشروع متصفّح مفتوح المصدر تم إنشاء Chrome وبعض المتصفّحات والأُطر الأخرى استنادًا إليه. Blink هو محرّك العرض الذي يستخدمه Chromium.
لكي يتم إطلاق ميزة جديدة في Blink، يجب أن تمرّ بعملية التطوير المفتوحة في مشروع Chromium. "الميزة الجديدة" هي أي تغيير أو إضافة إلى رمز المتصفّح أو بنيته. قد يكون ذلك عبارة عن واجهة برمجة تطبيقات JavaScript جديدة أو تحسين كبير في أداء رمز Blink أو تغيير آخر في طريقة ظهور المتصفّح أو عمله.
عملية مفتوحة وتعاونية
Chromium هو مشروع ضخم ومعقّد يضم آلاف المساهمين. عند إجراء تغييرات على Chromium، تمثّل كل محطة مهمة فرصة لدعوة منظومة الويب المتكاملة الأوسع نطاقًا للتعليق على التصميم والتنفيذ.
ويجب أن تكون الميزات الجديدة قابلة للتشغيل التفاعلي على منصة الويب حيثما أمكن ذلك، وألا يتم تنفيذها على متصفح واحد فقط. لا يريد مطوّرو الويب أن يواجهوا مفاجآت، مثل عدم عمل المتصفّحات بالطريقة المتوقّعة أو الاضطرار إلى كتابة رموز برمجية مختلفة للمتصفّحات والأنظمة الأساسية المختلفة. تساعد Blink Intents في تنظيم عملية التغيير والتحكّم فيها، ما يجعل التغييرات أكثر قابلية للتوقّع وأقل إثارة للدهشة، وهذا أمر جيد لمطوّري الويب.
بالنسبة إلى المستخدمين، يجب أن يحرص مورّدو المتصفّحات على ألا تؤدي التغييرات إلى توقّف المواقع الإلكترونية عن العمل. في كثير من الأحيان، يتوقّف مالكو المواقع الإلكترونية عن صيانتها. لم يتم تعديل بعض المواقع الإلكترونية منذ عقود. على مورّدي المتصفّحات مراعاة ذلك عند إجراء تغييرات قد تؤدي إلى حدوث مشاكل.
من فكرة إلى اقتراح
تأتي اقتراحات التغييرات والتحديثات على منصة الويب من خلال البحث، أي من خلال استشارة المستخدمين والأنشطة التجارية ومهندسي المتصفحات ومطوّري الويب والجهات المعنية الأخرى. يتيح هذا البحث لفريق Chrome معرفة الميزات الناقصة في المنصة أو الميزات التي يجب تغييرها. في البداية، يكون اقتراح إجراء تغيير أو إضافة ميزة جديدة على منصة الويب مجرد كلمات على صفحة. يشارك المهندسون المستندات مع زملائهم لتلقّي الملاحظات ومناقشتها.
مثال: FedCM
Federated Credential Management (FedCM) هي واجهة برمجة تطبيقات تقدّم طريقة سهلة الاستخدام تركّز على الخصوصية لتسجيل المستخدمين وإنشاء حساباتهم وتسجيل دخولهم، وتُعرف باسم الهوية الموحّدة. على سبيل المثال، ينطبق ذلك على تسجيل الدخول باستخدام حساب Google وغيرها من عمليات تسجيل الدخول عبر وسائل التواصل الاجتماعي.
لإنشاء واجهة برمجة تطبيقات للمتصفّح، تتمثّل الخطوة الأولى في إعداد اقتراح لمناقشته بشكل علني. تم نشر اقتراح FedCM على GitHub كـ شرح. يمكن للجميع طرح أسئلة أو التعليق على تصاميم الميزات من خلال إنشاء مشكلة على GitHub في مستودع المستندات التوضيحية. قد تتضمّن الملاحظات وصفًا من المطوّر لحالات استخدام إضافية أو قيود أو أفكارًا لتحسين التطبيق أو وعدًا بتقديم الدعم.
بعد أن تعتمد إحدى هيئات التوحيد القياسي، مثل W3C، اقتراحًا، يمكن للأطراف المعنية الانضمام إلى المناقشات ومشاهدة العروض التقديمية في مجموعات معايير الويب، مثل مجموعات العمل في W3C.
Blink Intents: المعالم الرئيسية ومستوى التقدّم
بالنسبة إلى كل مرحلة رئيسية يعمل فيها المهندسون على ميزة جديدة أو تغيير في محرك العرض Blink، ينشرون مشاركة في مجموعة مناقشة blink-dev، ويوضحون فيها أنّهم ينوون الانتقال إلى المرحلة التالية نحو تنفيذ ميزة. تُعرف هذه المشاركات باسم "طلبات". يمكن لأي شخص الاشتراك في مجموعة blink-dev لتلقّي إشعارات عند إحراز تقدّم في الميزات الجديدة في Blink، أو الاشتراك في ميزة فردية لتلقّي آخر الأخبار.
Intent to Prototype
في هذه المرحلة، يمكن لمهندسي Chromium البدء في تنفيذ إحدى الميزات. وهذا يعني أنّه قد يتم توفير وظائف نموذجية للميزة ليختبرها المطوّرون من خلال علامة الميزة، وذلك في Chrome Canary أولاً، ثم في قنوات الإصدار الأخرى. يمكن لأي مستخدم ضبط علامة من صفحة chrome://flags لتفعيل ميزة واختبارها في المتصفح.
ومع ذلك، لا يمكن ضبط جميع العلامات من صفحة chrome://flags. للحصول على تحكّم أكثر دقة، يمكنك تشغيل Chrome من وحدة طرفية باستخدام علامات سطر الأوامر. يُرجى العِلم أنّ بعض الميزات الجديدة لا تتوفّر إلا بعد طرحها للاختبار في Chrome Canary، ولكن هذا نادر الحدوث. لا تتضمّن بعض الميزات علامة خاصة بها، ولكنها تصبح متاحة إذا تم تفعيل العلامة experimental-web-platform-features. وينطبق ذلك بشكل عام على الميزات "الأصغر" التي لا يستغرق تنفيذها أكثر من ثلاثة إلى ستة أشهر كحد أقصى.
جمع الملاحظات حول النماذج الأولية
بعد بدء تصميم نموذج أولي لميزة جديدة، يدعو مهندسو Chromium إلى مناقشة الميزة وتجربتها في مراحلها الأولى. وتكون الملاحظات في هذه المرحلة مهمة للتحقّق من صحة المقترحات وتكرارها. أخطاء Chromium هو المكان المناسب للتعليق على عملية التنفيذ في Chrome.
نية التجربة: الاختبار في العالم الحقيقي
يُعدّ نشر "إشعار نية التجربة" على blink-dev خطوة اختيارية تالية، إذا أراد مهندسو Chrome طلب إجراء مرحلة التجربة والتقييم.
توفّر مراحل التجربة والتقييم طريقة لاختبار ميزة جديدة أو تجريبية لمنصة الويب. يمكنك التسجيل في مرحلة التجربة والتقييم لإحدى الميزات، ثم الحصول على رمز مميّز لهذه التجربة. سيتم تفعيل هذه الميزة على أي صفحة توفّر الرمز المميّز.
موافقة مالكي Blink API
للمتابعة في تنفيذ إحدى الميزات، يجب أن يوافق مالكو واجهة برمجة التطبيقات Blink من خلال الردّ على طلب باستخدام منشور "يبدو ذلك مناسبًا لي"، ويُعرف هذا الردّ باسم LGTM.
مالكو واجهات برمجة التطبيقات في Blink هم مجموعة صغيرة من المساهمين في Chromium، ولديهم خبرة كبيرة في النظام الأساسي للويب وواجهات برمجة التطبيقات الخاصة به، وقد وافق منتدى Blink على أنّهم يتمتعون بسمعة جيدة، مع الالتزام بمهمة Blink وقيمها. بالإضافة إلى الموافقة (أو عدم الموافقة) على الميزات للمضي قدمًا في عملية التنفيذ، يشرف مالكو واجهة برمجة التطبيقات على عملية Blink Intent نفسها.
يجب أن تحصل "نية التجربة" على موافقة واحدة على الأقل من مالكي واجهات برمجة التطبيقات.
قيمة عمليات التجربة والتقييم
يمكن للمطوّرين الاشتراك في مرحلة التجربة والتقييم لإحدى الميزات، ثم اختبار الميزة في الإصدار العلني في بيئات فعلية مع مستخدمين حقيقيين، بدون أن يحتاج المستخدمون إلى اتّخاذ أي إجراء لتفعيل الميزة. يمكن للمطوّرين مشاركة نتائج اختباراتهم، ما يوفّر إحصاءات وبيانات قيّمة تساعد في تكرار الميزة وتطويرها.
إشارة "نية الشحن": المعلم الرئيسي النهائي
تشير إشارة "نية الشحن" إلى أنّ الميزة أصبحت الآن مكتملة وجاهزة للطرح للجمهور العام، أي لجميع مستخدمي إصدار Chrome الثابت بدون الحاجة إلى علامة أو رمز مميّز تجريبي. يجب أن تحصل "نية الشحن" على ثلاث موافقات LGTM من مالكي واجهات برمجة التطبيقات قبل المتابعة في التنفيذ.
طرح ميزات جديدة
بعد الموافقة على الميزة، يتم دمجها في إصدار قادم ثم يتم طرحها عبر قنوات إصدار Chrome. يتم غالبًا التعامل مع اختبار الميزات الجديدة وتنفيذها بعناية خاصة. يتم طرح بعض الميزات تدريجيًا لنسبة متزايدة من المستخدمين. يمكن أيضًا التراجع عن الميزات وإعادة تصميمها في حال ظهور آثار جانبية غير متوقعة.
إدارة الإيقاف النهائي والإزالة
هناك نوعان آخران من أغراض Blink:
- نية الإيقاف النهائي
- نية الإزالة
قد تبدو هذه الأسباب محزنة بعض الشيء، ولكنّها في الواقع ضرورية لنجاح عملية تطوير Blink.
ينشر المهندسون إشعارًا بنيّة إيقاف نهائي عندما يريدون البدء في تنبيه المطوّرين إلى أنّ ميزة معيّنة سيتم إيقافها نهائيًا. على سبيل المثال، من خلال توفير الدعم والمعلومات حول الإيقاف النهائي في وحدة تحكّم أدوات مطوّري البرامج في Chrome.
يتم نشر إشعار بإزالة عندما يخطّط المهندسون لإيقاف تفعيل الرمز تلقائيًا.
أهمية الإيقاف النهائي والإزالة
يُعدّ كلّ من الإيقاف النهائي والإزالة أمرًا بالغ الأهمية لسلامة منصة الويب. ويحرصون على أن يتمكّن Chrome من إزالة الميزات التي لا تعمل بشكل جيد للمستخدمين النهائيين أو مطوّري الويب، كما يساعدون في الحدّ من تعقيد قاعدة الرموز البرمجية. على سبيل المثال، تم رصد مشاكل في تصميم AppCache بعد استخدامه على المواقع الإلكترونية المتاحة للجميع في المتصفحات الثابتة، وتمت إزالة واجهة برمجة التطبيقات في النهاية. تساعد عمليات الإيقاف النهائي والإزالة أيضًا في الحفاظ على أمان Chrome من خلال تقليل احتمالية حدوث هجمات.
كما هو الحال مع جميع نوايا Blink، يبذل فريق Chrome قصارى جهده لاتخاذ القرارات بعناية. ويراجعون معدّلات استخدام الميزات والبيانات الأخرى قبل المتابعة. إنّ معايير إزالة الميزات عالية جدًا، ولن تتم إزالة أي ميزة إلا إذا كان عدد المستخدمين الذين يستفيدون منها ضئيلاً جدًا، وإذا كانت تتوفّر بدائل أفضل.
الاطّلاع على آخر المستجدّات بشأن Blink Intents
يمكنك تتبُّع مدى تقدّم الميزات على حالة Chrome، حيث يمكنك الاشتراك لتلقّي آخر الأخبار والإبلاغ عن الأخطاء والعثور على مراجع أخرى.
لمتابعة الميزات الجديدة، يمكنك متابعة مدونة Chromium والانضمام إلى مجموعة مناقشة blink-dev. يمكن أن تؤدي المجموعة إلى تلقّي الكثير من الرسائل الإلكترونية، لذا قد تفضّل الاشتراك في نية واحدة. يمكنك الاطّلاع على جدول بيانات بنوايا Blink.
إذا كنت من المعجبين حقًا بميزة Blink Intents، يمكنك الاستفادة من خدمات تتبُّع Blink Intent المبرمَجة.
الخطوات التالية
اطّلِع على مقالة ما هي قنوات إصدار Chrome؟.