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

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

اسمي بيت ليبيه. لنلقِ نظرة على الميزات الجديدة التي تهمّ المطوّرين في الإصدار 63 من Chrome.

هل تريد الاطّلاع على القائمة الكاملة بالتغييرات؟ اطّلِع على قائمة التغييرات في مستودع مصدر Chromium.

عمليات استيراد الوحدات الديناميكية

إنّ استيراد وحدات JavaScript مفيد جدًا، ولكنّه ثابت، ولا يمكنك استيراد الوحدات استنادًا إلى شروط وقت التشغيل.

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

button.addEventListener('click', event => {
  import('./dialogBox.js')
  .then(dialogBox => {
    dialogBox.open();
  })
  .catch(error => {
    /* Error handling */
  });
});

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

الدوالّ المتكرّرة والمولدة غير المتزامنة

قد يكون من الصعب كتابة رمز برمجي يُجري أي نوع من التكرار باستخدام دوال async. في الواقع، هذا هو الجزء الأساسي من سؤال الترميز المفضّل لدي في المقابلة.

الآن، باستخدام دوالّ إنشاء الوظائف غير المتزامنة وبروتوكول التكرار غير المتزامن، يصبح استخدام مصادر البيانات البثّية أو تنفيذها أكثر سلاسة، ويُصبح سؤال الترميز أسهل بكثير.

async function* getChunkSizes(url) {
  const response = await fetch(url);
  const b = response.body;
  for await (const chunk of magic(b)) {
    yield chunk.length;
  }
}

يمكن استخدام الدوالّ المتكرّرة غير المتزامنة في حلقات for-of، وكذلك لإنشاء الدوالّ المتكرّرة غير المتزامنة المخصّصة من خلال مصانع الدوالّ المتكرّرة غير المتزامنة.

سلوك الانتقال للأسفل/للأعلى أكثر من اللازم

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

الصورة السابقة، بعد إعادة تحميل الصفحة بالكامل

بعد ذلك، أعِد تحميل المحتوى فقط.

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

يتيح الإصدار 63 من Chrome الآن استخدام سمة CSS overscroll-behavior ، ما يسهّل إلغاء السلوك التلقائي لميزة الانتقال إلى الأسفل في المتصفّح.

ويمكنك استخدامها لإجراء ما يلي:

والأفضل من ذلك، أنّ overscroll-behavior لا يؤثر سلبًا في أداء صفحتك.

تغييرات على واجهة مستخدم الأذونات

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

يتم تجاهل% 90 من جميع طلبات الأذونات أو حظرها مؤقتًا.

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

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

وغير ذلك

هذه ليست سوى بعض التغييرات في الإصدار 63 من Chrome للمطوّرين، وبالطبع، هناك المزيد.

  • أصبح finally متاحًا الآن في مثيلات Promise ويتمّ استدعاؤه بعد Promise تمّ استيفاؤه أو رفضه.
  • تساعدك واجهة برمجة التطبيقات الجديدة Device Memory JavaScript API في فهم قيود الأداء من خلال تقديم إشارات حول إجمالي سعة ذاكرة الوصول العشوائي على جهاز المستخدم. يمكنك تخصيص تجربتك أثناء التشغيل، ما يقلل من التعقيد على الأجهزة المنخفضة المستوى، ويمنح المستخدمين تجربتًا أفضل مع تقليل الإحباط.
  • تتيح لك واجهة برمجة التطبيقات Intl.PluralRules API إنشاء تطبيقات تتفهّم صيغة الجمع في لغة معيّنة من خلال الإشارة إلى صيغة الجمع التي تنطبق على رقم ولغة معيّنين. ويمكن أن تساعد في الأرقام الترتيبية.

احرص على الاشتراك في قناتنا على YouTube، وستصلك إشعارات عبر البريد الإلكتروني عند نشر فيديو جديد.

اسمي "بيت ليبيت"، وسأطلعك على الميزات الجديدة في Chrome فور طرح الإصدار 64.