الميزات الجديدة في Chrome 72

في الإصدار 72 من Chrome، أتحنا إمكانية استخدام ما يلي:

  • أصبح إنشاء حقول الفئة العامة في JavaScript أكثر وضوحًا الآن.
  • يمكنك معرفة ما إذا كان قد تم تفعيل إحدى الصفحات باستخدام User Activate API الجديدة.
  • أصبحت أقلمة القوائم أسهل بكثير باستخدام واجهة برمجة التطبيقات Intl.format().

وهناك الكثير غيرها.

اسمي بيت ليب. دعونا نتعمق أكثر ونتعرف على الميزات الجديدة للمطورين في Chrome 72!

سجلّ التغييرات

لا يشمل هذا سوى بعض النقاط الأساسية المميّزة، لذا يُرجى الاطّلاع على الروابط أدناه لمعرفة التغييرات الإضافية في الإصدار 72 من Chrome.

حقول الصفوف العامة

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

يمكنني الآن إنشاء فئات تعمل كما أتوقّع، مع استكمال الدوال الإنشائية ودوال getter وsetter والطرق الثابتة والخصائص العامة.

بفضل الإصدار V8 7.2، الذي يتوفر مع Chrome 72، يمكنك الآن إعلان حقول الفئة العامة مباشرةً في تعريف الفئة، ما يغنيك عن الحاجة إلى تنفيذ ذلك في دالة الإنشاء.

class Counter {
  _value = 0;
  get value() {
    return this._value;
  }
  increment() {
    this._value++;
  }
}

const counter = new Counter();
console.log(counter.value);
// → 0
counter.increment();
console.log(counter.value);
// → 1

جارٍ العمل على إتاحة حقول الصفوف الخاصة.

يمكنك الاطّلاع على المزيد من التفاصيل في مقالة "ماتياس" حول حقول الصف للحصول على مزيد من التفاصيل.

واجهة برمجة تطبيقات تنشيط المستخدم

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

واجهة برمجة التطبيقات لتفعيل المستخدم قبل تفاعل المستخدم مع الصفحة وبعده.

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

تتوفّر سمة userActivation جديدة في كلٍّ من navigator وMessageEvent، وتحتوي على خاصيتَين: hasBeenActive وisActive:

  • وتشير القيمة hasBeenActive إلى ما إذا كانت النافذة المرتبطة قد رصدت أي تفعيل من جانب المستخدم خلال مراحل نشاطها.
  • وتشير العلامة isActive إلى ما إذا كان قد تم حاليًا تفعيل المستخدم للنافذة المرتبطة به خلال مراحل نشاطها.

يمكنك الاطّلاع على مزيد من التفاصيل في القسم جعل عمليات تفعيل المستخدمين متسقة على مستوى واجهات برمجة التطبيقات.

ترجمة قوائم العناصر باستخدام Intl.format

تعجبني واجهات برمجة التطبيقات Intl، فهي مفيدة جدًا في ترجمة المحتوى إلى لغات أخرى. في Chrome 72، تتوفّر طريقة .format() جديدة تسهّل عرض القوائم. وكما هو الحال مع واجهات برمجة تطبيقات Intl الأخرى، ينقل هذا البرنامج العبء إلى محرّك JavaScript، بدون التضحية بالأداء.

عليك إعداده باللغة التي تريدها، ثم استدعاء format، وسيتم استخدام الكلمات الصحيحة وبناء الجملة الصحيح. يمكنها استخدام علامتَي اقتباس، ما يؤدي إلى إضافة المكافئ المترجَم لـ and (وانظر إلى فواصل أكسفورد الجميلة). ويمكنها إجراء تناقضات، أي من خلال إضافة المكافئ المحلي لـ or. ومن خلال توفير بعض الخيارات الإضافية، يمكنك إجراء المزيد من الإجراءات.

const opts = {type: 'disjunction'};
const lf = new Intl.ListFormat('fr', opts);
lf.format(['chien', 'chat', 'oiseau']);
// → 'chien, chat ou oiseau'
lf.format(['chien', 'chat', 'oiseau', 'lapin']);
// → 'chien, chat, oiseau ou lapin'

يمكنك الاطّلاع على مشاركة واجهة برمجة التطبيقات Intl.ListFormat للحصول على مزيد من التفاصيل.

ومقاييس أخرى

هذه ليست سوى عدد قليل من التغييرات التي طرأت على الإصدار 72 من Chrome للمطوّرين بالطبع وهناك المزيد من التغييرات الأخرى.

  • يغيِّر Chrome 72 سلوك Cache.addAll() ليطابق المواصفات بشكلٍ أفضل. في السابق، إذا كانت هناك إدخالات مكررة في الاستدعاء نفسه، كانت الطلبات اللاحقة ستستبدل أول إدخال ببساطة. لمطابقة المواصفات، إذا كانت هناك إدخالات مكررة، سيتم رفضها باستخدام InvalidStateError.
  • يعالج مشغّل الخدمات الآن طلبات الحصول على الرموز المفضّلة، طالما أنّ عنوان URL للطلب متوفّر على نفس مصدر مشغّل الخدمات.

اشتراك

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

اسمي بيت ليب، وبمجرد إطلاق Chrome 73، سأكون على استعداد هنا لإخبارك بالجديد في Chrome!