تاريخ النشر: 20 مايو 2025
عندما يتم تنفيذ ميزة من ميزات النظام الأساسي للويب في كل متصفّح، تصبح ميزة "متاحة حديثًا" في Baseline. وبعد 30 شهرًا، تصبح هذه الميزة "متاحة على نطاق واسع" في Baseline، وهو حدّ يمكن لمعظم المواقع الإلكترونية من خلاله اعتماد الميزات بدون مشاكل في التوافق. يوضّح هذا الدليل كيفية استخدام Baseline، وكيفية اختيار هدف Baseline باستخدام البيانات المتاحة من مستخدمي موقعك الإلكتروني.
ما هو هدف Baseline؟
هدف Baseline هو تجميع لميزات الويب التي يمكن للمطوّرين اختيار دعمها، استنادًا إلى حالتها في Baseline. هناك نوعان من أهداف Baseline: الأهداف المتحرّكة والأهداف الثابتة.
الأهداف المتحرّكة، مثل "متاحة على نطاق واسع" أو "متاحة حديثًا" في Baseline، هي أهداف قد تتغيّر فيها مجموعة الميزات بمرور الوقت. تكون الأهداف المتحرّكة منطقية في الحالات التي تريد فيها أن تتطوّر مجموعة الميزات المتوافقة تلقائيًا عند إصدار إصدارات جديدة من المتصفّح.
الأهداف الثابتة هي الأهداف التي لا تتغيّر فيها مجموعة الميزات بمرور الوقت. تستند الأهداف الثابتة بشكل عام إلى السنوات التقويمية. على سبيل المثال، Baseline 2023 هو هدف ثابت يتضمّن مجموعة ميزات الويب التي أصبحت "متاحة حديثًا" في Baseline في عام 2023. لن يتضمّن Baseline 2023 الميزات التي أصبحت "متاحة" في Baseline بعد عام 2023، ما يعني أنّ مجموعة ميزات Baseline 2023 لا تتغيّر أبدًا.
تكون الأهداف الثابتة منطقية في الحالات التي تكون فيها إمكانية التنبؤ والتحديد أمرًا بالغ الأهمية، ولكن يمكن أن تصبح قديمة بمرور الوقت، لذا من المستحسن إعادة تقييم هدفك بانتظام عند استخدام الأهداف الثابتة.
لماذا يجب اختيار هدف؟
يتم تأخير اعتماد الميزات على الويب بسبب مشاكل التوافق، ما يمنع الويب من أن يكون بأفضل صورة ممكنة. لا يوضّح Baseline مسألة دعم الميزات في المتصفّحات فحسب، بل يمكن أن يكون مفيدًا في توضيح مسألة وقت استخدام ميزات معيّنة. من خلال اختيار هدف يعكس جمهورك ومتطلباتك، يمكنك استخدام الميزات ضِمن مجموعة هذا الهدف بثقة، بدون الحاجة إلى التحقّق من الميزات الفردية واحدة تلو الأخرى.
استخدام البيانات لاختيار هدف Baseline
يجب أن يكون اختيار هدف Baseline المناسب قرارًا مستندًا إلى البيانات قدر الإمكان. عندما تكون البيانات أمامك، يصبح اختيار الهدف أسهل وأكثر استنادًا إلى معلومات.
إذا كانت لديك بيانات مراقبة المستخدمين الفعليين لموقعك الإلكتروني، يمكنك التعرّف على كيفية ربط أهداف Baseline بمستخدميك. على سبيل المثال، إذا كنت تستخدم "إحصاءات Google"، يمكنك الحصول على هذه المعلومات مجانًا باستخدام أداة التحقّق من Baseline في "إحصاءات Google".
لاستخدام هذه الأداة، عليك المصادقة باستخدام حسابك على Google والسماح للأداة بالحصول على إذن القراءة فقط لعرض بياناتك في "إحصاءات Google". بعد ذلك، اختَر موقع "إحصاءات Google" الذي تريد إنشاء بيانات هدف Baseline له. بعد إكمال هذه الخطوات، ستتلقّى نتائج مشابهة لما يلي:
بدأنا نرى أدوات أخرى تنفّذ دعم Baseline، ما يمنحك عرضًا ديناميكيًا لعدد الجمهور الذي يدعم هدفًا معيّنًا. على سبيل المثال، يتضمّن RUMvision لوحة معلومات توضّح عدد الجمهور الذي يدعم كل عام من أعوام Baseline.

ماذا لو لم يكن لدى مقدّم خدمة الإحصاءات أو مراقبة المستخدمين الفعليين تقرير عن هدف Baseline بعد؟
إذا كنت تستخدم أداة إحصاءات أو مراقبة المستخدمين الفعليين لا تقدّم تقريرًا عن هدف Baseline بعد، ولكنها تتضمّن بيانات عن إصدارات المتصفّح، يمكنك ربط بياناتك الفعلية بعمليات ربط إصدارات المتصفّح من وحدة baseline-browser-mapping. توفر الوحدة دالة JavaScript - getAllVersions() - التي تربط المتصفحات حسب الاسم والإصدار بسنة Baseline وحالة الدعم لميزة "متاحة على نطاق واسع". يمكن تقديم عمليات الربط هذه على شكل مصفوفات أو عناصر ذات مفاتيح أو ملف CSV. على سبيل المثال، تستخدم أداة التحقّق من Baseline في إحصاءات Google هذه الوحدة لربط بيانات الإحصاءات بأهداف Baseline.
تتوفّر نتائج هذه الدالة أيضًا على شكل ملفات JSON أو CSV مستضافة يتم تعديلها يوميًا. يحتوي ملف all_versions_with_supports.csv على بيانات يمكنك مطابقتها مع بيانات إصدار المتصفّح لمقدّمي خدمة الإحصاءات باستخدام الحقول التالية:
browser: اسم المتصفّح كما هو مستخدَم فيbaseline-browser-mappingversion: إصدار المتصفّح تستخدم بعض المتصفّحات رقم إصدار رئيسي فقط، بينما تستخدم متصفّحات أخرى رقم إصدار major.minor.year: مجموعة خصائص سنة Baseline التي يدعمها إصدار المتصفّح هذا. إذا تم إصدار إصدار متصفّح قبل أن يصبح من الممكن تحديد دعم Baseline في يوليو 2015، سيحتوي هذا الحقل علىpre_baselinesupports: يحتوي هذا الحقل علىwidelyأوnewlyلإصدارات المتصفّح التي تدعم مجموعات الميزات هذه، ويكون فارغًا للإصدارات التي لا تدعم أيًا من مجموعات الميزات هذه. تتوافق جميع إصدارات المتصفّح التي تدعم ميزة "متاحة حديثًا" أيضًا مع ميزة "متاحة على نطاق واسع".release_date: تاريخ إصدار إصدار المتصفّح هذا، إذا كان متاحًاengine: اسم المحرّك للمتصفّحات التي تستند إلى متصفّح أساسي في Baseline يتم تضمين المتصفّحات المستندة إلى Blink فقط، ولكن قد يتم تمثيل محرّكات المتصفّحات الأخرى في المستقبل.engine_version: إصدار Chromium الذي ينفّذه إصدار المتصفّح هذا يُستخدم هذا لتحديد مجموعة خصائص Baseline التي يدعمها الإصدار المستند إلى الإصدار الأساسي.
يتم تعديل هذا الملف بشكل متكرّر عند إصدار إصدارات جديدة من المتصفّح وتغيير حالة الدعم للمتصفّحات المختلفة. احرص على تعديل البيانات يوميًا.
ماذا لو لم تكن لديّ بيانات الدعم من المستخدمين الفعليين؟
قد تجد نفسك في موقف لا يمكنك فيه الحصول على بيانات المستخدمين الفعليين عندما يتعلّق الأمر بالميزات التي أصبحت "متاحة" في Baseline. الخبر السار هو أنّه يمكنك الحصول على فكرة عامة عن دعم أهداف Baseline المختلفة من خلال إحصاءات أرشيف مراقبة المستخدمين الفعليين، ما يسمح لك أيضًا بالفلترة حسب البلد. لن تكون هذه البيانات خاصة بمستخدمي موقعك الإلكتروني. إنّها أداة معلومات عامة توضّح أنّ الافتراضات التالية آمنة بشكل عام:
- من المرجّح أن تحظى أهداف Baseline الأحدث، مثل السنة الحالية أو السنة السابقة، بأقل قدر من الدعم بين مستخدميك. ومع ذلك، مثل أي هدف Baseline، ستحظى هذه الأهداف بدعم أفضل بمرور الوقت.
- ستحظى أهداف Baseline الأقدم، وخاصةً "متاحة على نطاق واسع" في Baseline، بدعم جيد. في حال الشك، يُعدّ "متاحة على نطاق واسع" هدفًا ممتازًا يتطوّر مع تقدّم فترة الـ 30 شهرًا بمرور الوقت.
- ستحظى أهداف Baseline الأقدم، أي تلك التي تتجاوز فترة الـ 30 شهرًا لميزة "متاحة على نطاق واسع"، بأفضل دعم. في حين أنّ "متاحة على نطاق واسع" هي هدف تلقائي جيد، هناك حالات استخدام خاصة تتطلّب اتفاقيات مستوى خدمة صارمة.
من المرجّح أن تتمكّن من اعتماد الميزات التي لا تستخدمها حاليًا، حتى إذا كنت تختار هدف Baseline يزيد عمره عن خمس سنوات. في أفضل الحالات، قد تكون تستخدم هذه الميزات حاليًا، ولكن مع وحدات تعبئة قد لا تحتاج إليها.
كيف يمكنني فرض هدف Baseline الذي اخترته في مشروعي؟
Browserslist هي طريقة شائعة لاستهداف المتصفّحات التي تريد دعمها. تُستخدم في أدوات التجميع والأدوات المرتبطة الأخرى، مثل Babel وPostCSS، لتحديد ما إذا كان يجب تحويل أجزاء معيّنة من التعليمات البرمجية أو حتى تعبئتها.
يمكنك الآن استخدام Baseline مع Browserslist، بحيث يمكنك تحديد هدف Baseline كطلب بحث صالح في Browserslist عند اختياره. يضمن ذلك أنّ الأدوات في مشروعك تحوّل التعليمات البرمجية وفقًا للهدف الذي اخترته. لمزيد من المعلومات، يُرجى قراءة مقالة استخدام Baseline مع Browserslist.
ماذا عن الميزات التي لا تستوفي هدف Baseline؟
بعد اختيار هدف Baseline، قد يكون لديك ميزات تريد استخدامها، ولكنها لا تندرج ضِمن هذا الهدف. لا يوضّح لك Baseline ما يجب فعله هنا، ويعتمد ما إذا كنت تريد التفكير في استخدام هذه الميزات على نوع الموقع الإلكتروني الذي تنشئه والجمهور المتوقّع.
على سبيل المثال، قد تكون المواقع الإلكترونية للتجارة الإلكترونية أو المواقع الإلكترونية بين الشركات على استعداد لضبط حدّ أدنى أقل للدعم والتعامل مع المشاكل عندما يدعمها المستخدمون، في حين أنّ المواقع الإلكترونية الحكومية قد تتطلّب حدًا أدنى عاليًا للدعم. إحدى القواعد المهمة هنا هي أنّ ميزات الويب لا تفشل بالطريقة نفسها. هناك طرق عديدة لتصنيف الميزات حسب طريقة فشلها، ولكن إحدى الطرق التي قد تكون مفيدة لتجميع الميزات هي كما يلي:
- التحسين: إذا تم استخدام الميزة في متصفّح غير متوافق، لن تتعطّل التجربة. قد تكون التجربة أقل جودة، ولكن من غير المرجّح أن يلاحظها المستخدم. مثال:
loading="lazy". - الإضافة: تقدّم الميزة بعض المزايا الإضافية التي قد تكون ملحوظة، مثل التغييرات في تصميم الصفحة أو بعض الوظائف. قد لا يلاحظ المستخدمون الفرق إذا كانت الميزة غير متوافقة، ما لم تتم المقارنة في متصفّح يدعمها. مثال: Subgrid
- مهمة: إذا كانت الميزة غير متوافقة، سيحصل المستخدم على تجربة سلبية، وربما حتى تجربة معطّلة تمامًا. مثال: واجهة برمجة التطبيقات File System Access API المستخدَمة كميزة مركزية وضرورية
قد تلاحظ أيضًا أنّ ميزات معيّنة خارج هدفك تحظى بدعم أفضل مما تعتقد. من الممكن فهم عدد المستخدمين الذين يدعمون ميزة معيّنة. تتيح لك أداة Can I Use التحقّق من دعم الميزات الفردية استنادًا إلى بيانات الإحصاءات. يتيح لك RUMvision أيضًا إمكانية الاطّلاع على البيانات على مستوى الميزة واستكشافها إذا كان ذلك مفيدًا لك.
بهذه الطريقة، يمكنك استخدام هدف Baseline لتقليل عدد الميزات التي تحتاج إلى دراستها بعناية. لا داعي للقلق بشأن أي ميزة ضِمن هدفك. إذا كانت هناك ميزة واحدة أو اثنتان خارج هدفك ستكونان مفيدتين بشكل خاص، لديك الأدوات اللازمة لاستكشاف المزيد وتحديد ما إذا كنت تريد تعبئتهما أو استخدامهما كتحسين تدريجي.
الخاتمة
لكل تطبيق ويب متطلبات مختلفة، بدءًا من موقع إلكتروني للتجارة الإلكترونية يمكنه تحمّل المزيد من مشاكل عدم التوافق، وصولاً إلى موقع إلكتروني حكومي يجب أن يكون متاحًا ويعمل لأكبر عدد ممكن من المستخدمين. عليك إجراء هذه العمليات الحسابية بنفسك، وليس من أهداف Baseline أن يخبرك بالقرارات التي يجب اتخاذها عند اعتماد ميزات ويب جديدة، ولكنّه يركّز على كيفية اتخاذها.