في الإصدار 74 من Chrome، أضفنا إمكانية استخدام ما يلي:
- أصبح الآن إنشاء حقول فئة خاصة في JavaScript أكثر وضوحًا.
- يمكنك رصد الحالات التي طلب فيها المستخدم استخدام ميزة تجربة الحركة المنخفضة.
- أحداث النقل في خدمة مقارنة الأسعار (CSS)
- إضافة واجهات برمجة تطبيقات جديدة لسياسة الميزات للتحقّق مما إذا كانت الميزات مفعّلة أم لا
وهناك الكثير غير ذلك.
اسمي بيت ليبيه. لنطّلع على الميزات الجديدة للمطوّرين في Chrome 74
سجلّ التغييرات
لا يتناول هذا المقال سوى بعض الميزات الرئيسية، ويمكنك الاطّلاع على الروابط أدناه للاطّلاع على التغييرات الإضافية في الإصدار 74 من Chrome.
- الميزات الجديدة في "أدوات مطوري البرامج في Chrome" (74)
- الميزات التي سيتم إيقافها نهائيًا أو إزالتها في الإصدار 74 من Chrome
- تعديلات ChromeStatus.com على الإصدار 74 من Chrome
- الميزات الجديدة في JavaScript في Chrome 74
- قائمة التغييرات في مستودع مصدر Chromium
حقول الصفوف الخاصة
تعمل حقول الفئة على تبسيط بنية الفئة من خلال تجنُّب الحاجة إلى وظائف ملف الإنشاء فقط لتحديد خصائص المثيل. في الإصدار 72 من Chrome، أضفنا إمكانية استخدام حقول الفئات العامة.
class IncreasingCounter {
// Public class field
_publicValue = 0;
get value() {
return this._publicValue;
}
increment() {
this._publicValue++;
}
}
وقلت إن حقول الصفوف الخاصة كانت قيد الإعداد. يسرّني أن أخبرك بأنّه تمت إضافة
حقول الفئات الخاصة في الإصدار 74 من Chrome. تشبه بنية الحقول الخاصة الجديدة
الحقول العامة، إلا أنّك تضع علامة على الحقل على أنّه خاص باستخدام
#
(علامة الجنيه). يمكنك اعتبار الرمز #
جزءًا من اسم الحقل.
class IncreasingCounter {
// Private class field
#privateValue = 0;
get value() {
return this.#privateValue;
}
increment() {
this.#privateValue++;
}
}
تذكَّر أنّ حقول private
هي خاصة فقط. ويمكن الوصول إليها
داخل الصف، ولكن لا يمكن الوصول إليها خارج نص الصف.
class SimpleClass {
_iAmPublic = 'shared';
#iAmPrivate = 'secret';
doSomething() {
...
}
}
للاطّلاع على مزيد من المعلومات عن الفئات العامة والخاصة، يمكنك الاطّلاع على مشاركة "ماتياس" حول حقول الفئات.
prefers-reduced-motion
أبلغ بعض المستخدمين عن شعورهم بالغثيان عند عرض التمرير بزاوية متباينة والتكبير/التصغير وتأثيرات الحركة الأخرى. لحلّ هذه المشكلة، تقدّم العديد من أنظمة التشغيل خيارًا لتقليل الحركة كلما أمكن ذلك.
يوفّر Chrome الآن طلب بحث عن الوسائط، وهو prefers-reduced-motion
، وهو جزء من
مواصفات المستوى 5 لطلبات البحث عن الوسائط، ويتيح لك معرفة ما إذا كان هذا الخيار مفعَّلاً.
@media (prefers-reduced-motion: reduce)
لنفترض أنّني أمتلك زر اشتراك يجذب الانتباه إليه من خلال تحرّك بسيط. يتيح لي الطلب الجديد إيقاف ميزة "الاستجابة للحركة" للزر فقط.
button {
animation: vibrate 0.3s linear infinite both;
}
@media (prefers-reduced-motion: reduce) {
button {
animation: none;
}
}
يمكنك الاطّلاع على مقالة توم Move Ya! أو ربما لا، إذا كان المستخدم يفضّل استخدام ميزة "الحركة المنخفضة". للحصول على مزيد من التفاصيل.
أحداث transition
في CSS
تتطلّب مواصفات انتقالات CSS إرسال أحداث الانتقال عند إضافة انتقال إلى "قائمة الانتظار" أو عند بدئه أو انتهائه أو إلغائه. وهذه الأحداث معتمدة في المتصفحات الأخرى منذ فترة...
ولكن حتى الآن، لم تكن هذه الميزات متاحة في Chrome. في الإصدار 74 من Chrome، يمكنك الآن الاستماع إلى ما يلي:
transitionrun
transitionstart
transitionend
transitioncancel
من خلال الاستماع إلى هذه الأحداث، من الممكن تتبُّع السلوك أو تغييره عند تنفيذ أحد الانتقالات.
تحديثات واجهة برمجة التطبيقات Feature policy API
تتيح لك سياسات الميزات تفعيل واجهات برمجة التطبيقات وميزات الويب الأخرى أو إيقافها أو تعديل سلوكها بشكل انتقائي. ويتم ذلك إما من خلال عنوان Feature-Policy أو من خلال سمة allow في إطار iframe.
Feature-Policy: geolocation 'self'
<iframe ... allow="geolocation self">
</iframe>
يقدّم الإصدار 74 من Chrome مجموعة جديدة من واجهات برمجة التطبيقات للتحقّق من الميزات المفعّلة:
- يمكنك الحصول على قائمة بالميزات المسموح بها باستخدام
document.featurePolicy.allowedFeatures()
. - يمكنك التحقّق مما إذا كانت ميزة معيّنة مسموحًا بها باستخدام
document.featurePolicy.allowsFeature(...)
. - ويمكنك أيضًا الحصول على قائمة بالنطاقات المستخدمة في الصفحة الحالية التي تسمح باستخدام ميزة محدّدة مع
document.featurePolicy.getAllowlistForFeature()
.
يمكنك الاطّلاع على مقالتنا التعريفية عن سياسة الميزات للحصول على مزيد من التفاصيل.
وغير ذلك
هذه ليست سوى بعض التغييرات في الإصدار 74 من Chrome المخصّص للمطوّرين، وبالطبع، هناك المزيد. أنا شخصيًا متحمّس جدًا بشأن KV Storage، وهي خدمة تخزين مفاتيح/قيم سريعة جدًا وغير متزامنة، وتتوفّر كإصدار تجريبي أصلي.
سيبدأ مؤتمر Google I/O قريبًا.
يُرجى العِلم أنّ مؤتمر Google I/O سيُعقد بعد بضعة أسابيع (من 7 إلى 9 أيار (مايو))، وسنقدّم لك خلاله الكثير من الميزات الجديدة الرائعة. إذا لم تتمكّن من المشاركة، سيتم بث جميع الجلسات مباشرةً وستكون متاحة بعد ذلك على قناة مطوّري Chrome على YouTube.
اشتراك
إذا أردت البقاء على اطّلاع على فيديوهاتنا، يمكنك الاشتراك في قناة مطوّري Chrome على YouTube، وستتلقّى إشعارًا عبر البريد الإلكتروني عند نشر فيديو جديد.
اسمي بيت ليبيج، وفور طرح Chrome 75، سأكون في انتظارك لإخبارك بالجديد في Chrome!